From 0c4a0484855f5c1de65d13b42e34afe5b4d73f05 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 10 Oct 2008 18:17:13 +0000 Subject: [PATCH] Fix virRealloc bug for zero-size --- ChangeLog | 5 +++++ src/memory.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1f0d26530b..9ccac94ddf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 10 19:16:00 BST 2008 Daniel P. Berrange + + * src/memory.c: If size*count== 0, then virRelloc must not + return a failure, it is same as virFree. + Fri Oct 10 17:51:00 BST 2008 Daniel P. Berrange * docs/libvirt.rng: Document SDL attributes in schema diff --git a/src/memory.c b/src/memory.c index 93f403fbfe..31ecd493a7 100644 --- a/src/memory.c +++ b/src/memory.c @@ -158,7 +158,7 @@ int __virReallocN(void *ptrptr, size_t size, size_t count) return -1; } tmp = realloc(*(void**)ptrptr, size * count); - if (!tmp) + if (!tmp && (size * count)) return -1; *(void**)ptrptr = tmp; return 0;