revert detection of partially-replaced allocator
authorRich Felker <dalias@aerifal.cx>
Thu, 19 Apr 2018 19:25:48 +0000 (15:25 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 19 Apr 2018 19:25:48 +0000 (15:25 -0400)
commit618b18c78e33acfe54a4434e91aa57b8e171df89
tree8d708c55f836ba396dab5b49312f8242d61d7ed9
parent3f3cc3e99558501318e2f16ff03bbd68ce5a5e95
revert detection of partially-replaced allocator

commit c9f415d7ea2dace5bf77f6518b6afc36bb7a5732 included checks to
make calloc fallback to memset if used with a replaced malloc that
didn't also replace calloc, and the memalign family fail if free has
been replaced. however, the checks gave false positives for
replacement whenever malloc or free resolved to a PLT entry in the
main program.

for now, disable the checks so as not to leave libc in a broken state.
this means that the properties documented in the above commit are no
longer satisfied; failure to replace calloc and the memalign family
along with malloc is unsafe if they are ever called.

the calloc checks were correct but useless for static linking. in both
cases (simple or full malloc), calloc and malloc are in a source file
together, so replacement of one but not the other would give linking
errors. the memalign-family check was useful for static linking, but
broken for dynamic as described above, and can be replaced with a
better link-time check.
src/malloc/lite_malloc.c
src/malloc/malloc.c
src/malloc/memalign.c