From: Ulrich Drepper Date: Sat, 29 Oct 2011 20:39:03 +0000 (-0400) Subject: Avoid assertion in processes with VM in bad shape X-Git-Tag: glibc-2.15~131 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6ef76f3b515c45a83f7831f806bf97a2af9ed008;p=platform%2Fupstream%2Fglibc.git Avoid assertion in processes with VM in bad shape --- diff --git a/ChangeLog b/ChangeLog index 21aa451..4fccd94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-10-29 Ulrich Drepper + [BZ #13276] + * malloc/malloc.c (munmap_chunk): Don't use assertion to check munmap + return value. + * posix/sys/wait.h: Mark wait and wait4 with __THROWNL. * libio/stdio.h: Mark sprintf, vsprintf snprintf, vsnprintf, vasprintf, asprintf, __asprintf, obstack_printf, obstack_vprintf with __THROWNL. diff --git a/malloc/malloc.c b/malloc/malloc.c index 864c7d9..8608083 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -2855,10 +2855,10 @@ munmap_chunk(mchunkptr p) mp_.n_mmaps--; mp_.mmapped_mem -= total_size; - int ret __attribute__ ((unused)) = munmap((char *)block, total_size); - - /* munmap returns non-zero on failure */ - assert(ret == 0); + /* If munmap failed the process virtual memory address space is in a + bad shape. Just leave the block hanging around, the process will + terminate shortly anyway since not much can be done. */ + munmap((char *)block, total_size); } #if HAVE_MREMAP