qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] fix qemu_malloc() error check for size==0


From: Eduardo Habkost
Subject: [Qemu-devel] [PATCH] fix qemu_malloc() error check for size==0
Date: Mon, 18 May 2009 17:31:16 -0300

This patch is similar to a previous qemu_realloc() fix
(commit 322691a5c9f1c8531554148d47c078b5be590805), but for qemu_malloc().

malloc(0) may correctly return NULL if size==0. We don't want to abort qemu on
this case.

Signed-off-by: Eduardo Habkost <address@hidden>
---
 qemu-malloc.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/qemu-malloc.c b/qemu-malloc.c
index 6761857..2c60969 100644
--- a/qemu-malloc.c
+++ b/qemu-malloc.c
@@ -24,9 +24,9 @@
 #include "qemu-common.h"
 #include <stdlib.h>
 
-static void *oom_check(void *ptr)
+static void *oom_check(size_t size, void *ptr)
 {
-    if (ptr == NULL)
+    if (size != 0 && ptr == NULL)
         abort();
     return ptr;
 }
@@ -43,15 +43,12 @@ void qemu_free(void *ptr)
 
 void *qemu_malloc(size_t size)
 {
-    return oom_check(malloc(size));
+    return oom_check(size, malloc(size));
 }
 
 void *qemu_realloc(void *ptr, size_t size)
 {
-    if (size)
-        return oom_check(realloc(ptr, size));
-    else
-        return realloc(ptr, size);
+    return oom_check(size, realloc(ptr, size));
 }
 
 void *qemu_mallocz(size_t size)
-- 
1.6.3.rc4.29.g8146





reply via email to

[Prev in Thread] Current Thread [Next in Thread]