From: Ulrich Drepper Date: Sat, 19 May 2007 04:42:52 +0000 (+0000) Subject: * malloc/malloc.c (do_check_chunk): Correct check for mmaped block X-Git-Tag: upstream/2.30~14975 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2acd01acb10d0c0113f87bf7e787e0854498269d;p=external%2Fglibc.git * malloc/malloc.c (do_check_chunk): Correct check for mmaped block not overlapping with arena. --- diff --git a/ChangeLog b/ChangeLog index d5e1de3..5413c12 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 e061db9..d37d920 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 4e0d4b5..524acc7 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;