acadia-newlib/newlib/libc
Torbjörn SVENSSON 0455ea28ce Used chunk needs to be removed from free_list
When using nano malloc and the remaning heap space is not big enough to
fullfill the allocation, malloc will attempt to merge the last chunk in
the free list with a new allocation in order to create a bigger chunk.
This is successful, but the chunk still remains in the free_list, so
any later call to malloc can give out the same region without it first
being freed.

Possible sequence to verify:

void *p1 = malloc(3000);
void *p2 = malloc(4000);
void *p3 = malloc(5000);
void *p4 = malloc(6000);
void *p5 = malloc(7000);
free(p2);
free(p4);
void *p6 = malloc(35000);
free(p6);
void *p7 = malloc(42000);
void *p8 = malloc(32000);

Without the change, p7 and p8 points to the same address.
Requirement, after malloc(35000), there is less than 42000 bytes
available on the heap.

Contributed by STMicroelectronics

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
2022-09-01 14:40:27 -04:00
..
argz newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
ctype Add _REENT_ERRNO(ptr) 2022-07-13 06:55:41 +02:00
errno Add --enable-newlib-reent-thread-local option 2022-07-13 06:55:46 +02:00
iconv Add _REENT_ERRNO(ptr) 2022-07-13 06:55:41 +02:00
include Cygwin: drop requirement to build newlib's stdio64 2022-08-03 13:41:35 +02:00
locale newlocale: fix crash when trying to write to __C_locale 2022-08-12 12:29:26 +02:00
machine Add _REENT_IS_NULL() 2022-07-13 06:55:46 +02:00
misc Remove __sinit_locks / __sinit_recursive_mutex 2022-05-13 12:31:56 +02:00
posix Fix some Coverity Scan errors. 2022-08-31 15:18:08 -04:00
reent Add --enable-newlib-reent-thread-local option 2022-07-13 06:55:46 +02:00
search newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
signal Add --enable-newlib-reent-thread-local option 2022-07-13 06:55:46 +02:00
ssp newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
stdio Fix some Coverity Scan errors. 2022-08-31 15:18:08 -04:00
stdio64 Add _REENT_ERRNO(ptr) 2022-07-13 06:55:41 +02:00
stdlib Used chunk needs to be removed from free_list 2022-09-01 14:40:27 -04:00
string Add --enable-newlib-reent-thread-local option 2022-07-13 06:55:46 +02:00
sys SH: Do not build syscalls if option provided 2022-08-15 15:12:19 -04:00
syscalls newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
time Fix some Coverity Scan errors. 2022-08-31 15:18:08 -04:00
unix newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
xdr newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
Makefile.inc Silence xsltproc when writing manpages 2022-05-04 17:05:52 -04:00
Makefile.unidata
acinclude.m4 newlib: drop phoenix support 2022-03-28 23:17:06 -04:00
libc.in.xml Generate manpages for functions in chapter sys.tex 2022-05-04 17:06:19 -04:00
libc.texi
sys.tex