From cca85d27a59c31e1b20e4c4adc7d9bb57606e584 Mon Sep 17 00:00:00 2001 From: Chris Hall Date: Fri, 23 Jul 2010 11:27:11 -0700 Subject: lib: Fix accounting of memory * lib/memory.c: (zrealloc) If is called with NULL pointer then it should increment allocations because it behaves the same as zmalloc. (zfree) is called with NULL pointer, it does nothing therefore allocation count should not change. --- lib/memory.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/memory.c b/lib/memory.c index 4bac31db..4090fd90 100644 --- a/lib/memory.c +++ b/lib/memory.c @@ -111,6 +111,9 @@ zrealloc (int type, void *ptr, size_t size) memory = realloc (ptr, size); if (memory == NULL) zerror ("realloc", type, size); + if (ptr == NULL) + alloc_inc (type); + return memory; } @@ -123,8 +126,11 @@ zrealloc (int type, void *ptr, size_t size) void zfree (int type, void *ptr) { - alloc_dec (type); - free (ptr); + if (ptr != NULL) + { + alloc_dec (type); + free (ptr); + } } /* -- cgit v1.2.1