From: Ulrich Drepper Date: Sat, 19 May 2007 04:26:03 +0000 (+0000) Subject: * malloc/mcheck.c (reallochook): If size==0, free the block. X-Git-Tag: cvs/glibc-2_6_1~91 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=129abdd3ee8f6388dbf8d786fd243d0560458905;p=thirdparty%2Fglibc.git * malloc/mcheck.c (reallochook): If size==0, free the block. --- diff --git a/ChangeLog b/ChangeLog index 926e321affd..d5e1de39cd8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2007-05-18 Ulrich Drepper + * malloc/mcheck.c (reallochook): If size==0, free the block. + * rt/tst-shm.c: Use fstat64 instead of fstat. * sysdeps/unix/sysv/linux/i386/sync_file_range.S: Fix case where diff --git a/malloc/mcheck.c b/malloc/mcheck.c index 02379d219dd..4e0d4b5b7df 100644 --- a/malloc/mcheck.c +++ b/malloc/mcheck.c @@ -1,5 +1,5 @@ /* Standard debugging hooks for `malloc'. - Copyright (C) 1990-1997,99,2000,01,02 Free Software Foundation, Inc. + Copyright (C) 1990-1997,1999,2000-2002,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Written May 1989 by Mike Haertel. @@ -264,6 +264,12 @@ memalignhook (__malloc_size_t alignment, __malloc_size_t size, static __ptr_t reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller) { + if (size == 0) + { + freehook (ptr, caller); + return; + } + struct hdr *hdr; __malloc_size_t osize;