From 8ce5cfd13eb7f8474b3129a57c160273889c2573 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Thu, 15 Jun 2006 12:41:02 +0000 Subject: [lib] Experimental: have XFREE NULL out the freed pointer 2006-06-15 Paul Jakma * memory.h: Experimental, have XFREE macro NULL out the freed pointer. --- lib/ChangeLog | 2 ++ lib/memory.h | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ChangeLog b/lib/ChangeLog index b2ec0681..b7c9f040 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,6 +1,8 @@ 2006-06-15 Paul Jakma * command.c: (cmd_describe_command_real) Fix leak, CID #38. + * memory.h: Experimental, have XFREE macro NULL out the freed + pointer. 2006-05-28 Paul Jakma diff --git a/lib/memory.h b/lib/memory.h index 071f394e..a23c2787 100644 --- a/lib/memory.h +++ b/lib/memory.h @@ -53,7 +53,10 @@ extern struct mlist mlists[]; #define XMALLOC(mtype, size) zmalloc ((mtype), (size)) #define XCALLOC(mtype, size) zcalloc ((mtype), (size)) #define XREALLOC(mtype, ptr, size) zrealloc ((mtype), (ptr), (size)) -#define XFREE(mtype, ptr) zfree ((mtype), (ptr)) +#define XFREE(mtype, ptr) do { \ + zfree ((mtype), (ptr)); \ + ptr = NULL; } \ + while (0) #define XSTRDUP(mtype, str) zstrdup ((mtype), (str)) #endif /* MEMORY_LOG */ -- cgit v1.2.1