aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--malloc/malloc.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 21aa451..4fccd94 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2011-10-29 Ulrich Drepper <drepper@gmail.com>
+ [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