create special allocators for pginfo and pgfree structs instead of imalloc.
this keeps them separated from application memory.
for chunks, to prevent deterministic reuse, keep a small array
and swizzle the to be freed chunk with a random previously freed chunk.
this last bit only for chunks because keeping arbitrarily large regions
of pages around may cause out of memory issues (and pages are, to some
extent, returned in random order).
all changes enabled by default.
thanks to ben for pointing out these issues.
ok tech@
fstypesnames[], but that entry is NULL. The last valid file system
name is at fstypesnames[FSMAXTYPES-1].
Encountered and diagnosed by pedro@.
ok pedro@ deraadt@
detctecion of underflow where it would otherwise not happen for FPUs
that have a larger register size than sizeof double (i386, m68k). ok
deraadt@ weingart@ kettenis@
flag from its optional argument if permutation is disabled. The
idea was that since "r:" would match "-r foo" then "r::" should
match "-r foo" too as long as we know that things have not been
reshuffled. Unfortunately, this causes incompatibilities with GNU
getopt_long when the POSIXLY_CORRECT environment variable is set.
OK deraadt@
marked obsolete since the opendev() behaviour it turned on is now the
default.
'it can go' deraadt@
'no API of mine has ever made it into a standard' downsj@
region succeeds, but allocation a required page dir failed. This
can happen if we're really close to ulimit after allocation the
region of the size requested. See malloc_ulimit1 regress test.
Tested by many; thanks.
root node doesn't have a parent, and POSIX does not say what should be
done in that case. Warn developers that different implementations
may do different things.
pointer to the freed root node, but return a pointer to the new
root node. POSIX does not define, what should be returned in
that case.
Fixes Coverity CID 2528.
ok millert@ otto@