diff options
author | Paul Jakma <paul.jakma@sun.com> | 2006-06-15 12:41:02 +0000 |
---|---|---|
committer | Paul Jakma <paul.jakma@sun.com> | 2006-06-15 12:41:02 +0000 |
commit | 8ce5cfd13eb7f8474b3129a57c160273889c2573 (patch) | |
tree | 314dba4d94fe3a47fe188a700adbb73fee0ab4d8 /lib | |
parent | e5cd706c1a4b8138e9b78933e03460f0b032c77e (diff) |
[lib] Experimental: have XFREE NULL out the freed pointer
2006-06-15 Paul Jakma <paul.jakma@sun.com>
* memory.h: Experimental, have XFREE macro NULL out the freed
pointer.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ChangeLog | 2 | ||||
-rw-r--r-- | lib/memory.h | 5 |
2 files changed, 6 insertions, 1 deletions
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 <paul.jakma@sun.com> * 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 <paul.jakma@sun.com> 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 */ |