about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--malloc/malloc.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c94d0e4cfd..531d6b9a5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-11  Ulrich Drepper  <drepper@redhat.com>
+
+	* malloc/malloc.c (_int_malloc): sYSMALLOc might fail, in this
+	case don't call alloc_perturb.
+
 2007-12-10  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/unix/sysv/linux/adjtime.c: Use ADJ_OFFSET_SS_READ if
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 39d5b3fa52..1e716089a2 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -4475,7 +4475,7 @@ _int_malloc(mstate av, size_t bytes)
 
       We require that av->top always exists (i.e., has size >=
       MINSIZE) after initialization, so if it would otherwise be
-      exhuasted by current request, it is replenished. (The main
+      exhausted by current request, it is replenished. (The main
       reason for ensuring it exists is that we may need MINSIZE space
       to put in fenceposts in sysmalloc.)
     */
@@ -4515,7 +4515,7 @@ _int_malloc(mstate av, size_t bytes)
     */
     else {
       void *p = sYSMALLOc(nb, av);
-      if (__builtin_expect (perturb_byte, 0))
+      if (p != NULL && __builtin_expect (perturb_byte, 0))
 	alloc_perturb (p, bytes);
       return p;
     }