summaryrefslogtreecommitdiff
path: root/src/malloc/expand_heap.c
AgeCommit message (Collapse)AuthorLines
2018-09-12move declarations for malloc internals to malloc_impl.hRich Felker-2/+1
2015-06-14refactor malloc's expand_heap to share with __simple_mallocRich Felker-0/+72
this extends the brk/stack collision protection added to full malloc in commit 276904c2f6bde3a31a24ebfa201482601d18b4f9 to also protect the __simple_malloc function used in static-linked programs that don't reference the free function. it also extends support for using mmap when brk fails, which full malloc got in commit 5446303328adf4b4e36d9fba21848e6feb55fab4, to __simple_malloc. since __simple_malloc may expand the heap by arbitrarily large increments, the stack collision detection is enhanced to detect interval overlap rather than just proximity of a single address to the stack. code size is increased a bit, but this is partly offset by the sharing of code between the two malloc implementations, which due to linking semantics, both get linked in a program that needs the full malloc with realloc/free support.