* malloc/malloc.c (_int_free): Fail if block size is obviously wrong.

This commit is contained in:
Ulrich Drepper 2005-10-13 04:48:35 +00:00
parent 04ec80e410
commit bf58906631
2 changed files with 8 additions and 0 deletions

View File

@ -1,5 +1,7 @@
2005-10-12 Ulrich Drepper <drepper@redhat.com> 2005-10-12 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (_int_free): Fail if block size is obviously wrong.
* include/malloc.h: Remove _int_new_arena prototype. * include/malloc.h: Remove _int_new_arena prototype.
* malloc/arena.c (_int_new_arena): Move definition ahead of * malloc/arena.c (_int_new_arena): Move definition ahead of
arena_get2 and make static. arena_get2 and make static.

View File

@ -4278,6 +4278,12 @@ _int_free(mstate av, Void_t* mem)
malloc_printerr (check_action, errstr, mem); malloc_printerr (check_action, errstr, mem);
return; return;
} }
/* We know that each chunk is at least MINSIZE bytes in size. */
if (__builtin_expect (size < MINSIZE, 0))
{
errstr = "free(): invalid size";
goto errout;
}
check_inuse_chunk(av, p); check_inuse_chunk(av, p);