mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-23 11:18:54 +00:00
98ab79066d
In Seventh Edition UNIX, the last pointer passed to free() was guaranteed to not actually have been freed allowing memory to be "compacted" via the following pattern: free(foo); foo = realloc(foo, newsize); Further, Andrew Koenig reports in "C Traps and Pitfalls" that the original realloc() implementation required this pattern. The C standard is clear that this is Undefined Behavior. Modern allocators don't support it and no portable code could rely on it so remove this support. Note: the removed implementation contains an off-by-one error and if an item isn't found on the freelist, then twice as much memory as the largest possible allocation will be copied. Reviewed by: kib, imp Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D21296 |
||
---|---|---|
.. | ||
atf | ||
atrun | ||
blacklistd-helper | ||
bootpd | ||
comsat | ||
dma | ||
fingerd | ||
ftpd | ||
getty | ||
hyperv | ||
mail.local | ||
makewhatis.local | ||
mknetid | ||
pppoed | ||
rbootd | ||
rc | ||
revnetgroup | ||
rpc.rquotad | ||
rpc.rstatd | ||
rpc.rusersd | ||
rpc.rwalld | ||
rpc.sprayd | ||
rtld-aout | ||
rtld-elf | ||
save-entropy | ||
smrsh | ||
talkd | ||
tcpd | ||
telnetd | ||
tests | ||
tftp-proxy | ||
tftpd | ||
ulog-helper | ||
ypxfr | ||
Makefile | ||
Makefile.amd64 | ||
Makefile.i386 | ||
Makefile.inc |