From: Anthony Minessale Date: Wed, 16 May 2007 21:05:22 +0000 (+0000) Subject: add small sanity check to libsofia X-Git-Tag: v1.0-beta1~300 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a59cf9ee25df2efd88601565e63be91d62924a2a;p=thirdparty%2Ffreeswitch.git add small sanity check to libsofia git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5194 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c b/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c index 758f46762b..1e27d51f6c 100644 --- a/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c +++ b/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c @@ -929,7 +929,7 @@ int su_home_init(su_home_t *home) return 0; } - +#define safe_free(it) if (it) { free(it); it = NULL; } /** Internal deinitialization */ static void _su_home_deinit(su_home_t *home) @@ -965,16 +965,17 @@ void _su_home_deinit(su_home_t *home) } else if (su_is_preloaded(b, b->sub_nodes[i].sua_data)) continue; - free(b->sub_nodes[i].sua_data); + safe_free(b->sub_nodes[i].sua_data); + } } if (b->sub_preload && !b->sub_preauto) - free(b->sub_preload); + safe_free(b->sub_preload); if (b->sub_stats) - free(b->sub_stats); + safe_free(b->sub_stats); if (!b->sub_auto) - free(b); + safe_free(b); home->suh_blocks = NULL;