Correctly handle malloc/realloc(0)
authorRichard W.M. Jones <rjones@redhat.com>
Fri, 29 May 2009 14:30:57 +0000 (15:30 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 29 May 2009 14:30:57 +0000 (15:30 +0100)
 - malloc and realloc(0) are valid requests.  Some implementations
   may return NULL for these, which would not indicate an error.

src/guestfs.c

index fb214c5..c5056d4 100644 (file)
@@ -418,7 +418,7 @@ void *
 guestfs_safe_malloc (guestfs_h *g, size_t nbytes)
 {
   void *ptr = malloc (nbytes);
-  if (!ptr) g->abort_cb ();
+  if (nbytes > 0 && !ptr) g->abort_cb ();
   return ptr;
 }
 
@@ -426,7 +426,7 @@ void *
 guestfs_safe_realloc (guestfs_h *g, void *ptr, int nbytes)
 {
   void *p = realloc (ptr, nbytes);
-  if (!p) g->abort_cb ();
+  if (nbytes > 0 && !p) g->abort_cb ();
   return p;
 }