From 2acd01acb10d0c0113f87bf7e787e0854498269d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 19 May 2007 04:42:52 +0000 Subject: * malloc/malloc.c (do_check_chunk): Correct check for mmaped block not overlapping with arena. --- ChangeLog | 3 +++ malloc/malloc.c | 2 +- malloc/mcheck.c | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index d5e1de39cd..5413c12889 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2007-05-18 Ulrich Drepper + * malloc/malloc.c (do_check_chunk): Correct check for mmaped block + not overlapping with arena. + * malloc/mcheck.c (reallochook): If size==0, free the block. * rt/tst-shm.c: Use fstat64 instead of fstat. diff --git a/malloc/malloc.c b/malloc/malloc.c index e061db94d6..d37d920cd1 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -2572,7 +2572,7 @@ static void do_check_chunk(av, p) mstate av; mchunkptr p; #if HAVE_MMAP /* address is outside main heap */ if (contiguous(av) && av->top != initial_top(av)) { - assert(((char*)p) < min_address || ((char*)p) > max_address); + assert(((char*)p) < min_address || ((char*)p) >= max_address); } /* chunk is page-aligned */ assert(((p->prev_size + sz) & (mp_.pagesize-1)) == 0); diff --git a/malloc/mcheck.c b/malloc/mcheck.c index 4e0d4b5b7d..524acc755c 100644 --- a/malloc/mcheck.c +++ b/malloc/mcheck.c @@ -267,7 +267,7 @@ reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller) if (size == 0) { freehook (ptr, caller); - return; + return NULL; } struct hdr *hdr; -- cgit 1.4.1