safe_free

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6757 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2007-12-13 17:17:28 +00:00
parent 5fea07270f
commit 41550d54df

View File

@ -42,6 +42,7 @@
#include "token.h" #include "token.h"
#define safe_free(it) if (it) {free(it);it=NULL;}
/********************************************************************* /*********************************************************************
** List ** List
*********************************************************************/ *********************************************************************/
@ -69,10 +70,10 @@ ListFree(TList * const sl) {
if (sl->autofree) { if (sl->autofree) {
unsigned int i; unsigned int i;
for (i = sl->size; i > 0; --i) for (i = sl->size; i > 0; --i)
free(sl->item[i-1]); safe_free(sl->item[i-1]);
} }
free(sl->item); safe_free(sl->item);
} }
sl->item = NULL; sl->item = NULL;
sl->size = 0; sl->size = 0;
@ -87,7 +88,7 @@ ListFreeItems(TList * const sl) {
if (sl->item) { if (sl->item) {
unsigned int i; unsigned int i;
for (i = sl->size; i > 0; --i) for (i = sl->size; i > 0; --i)
free(sl->item[i-1]); safe_free(sl->item[i-1]);
} }
} }
@ -215,7 +216,7 @@ void BufferFree(TBuffer *buf)
/* ************** Implement the static buffers ***/ /* ************** Implement the static buffers ***/
} }
else else
free(buf->data); safe_free(buf->data);
buf->size=0; buf->size=0;
buf->staticid=0; buf->staticid=0;
@ -348,11 +349,11 @@ void TableFree(TTable *t)
if (t->size) if (t->size)
for (i=t->size;i>0;i--) for (i=t->size;i>0;i--)
{ {
free(t->item[i-1].name); safe_free(t->item[i-1].name);
free(t->item[i-1].value); safe_free(t->item[i-1].value);
}; };
free(t->item); safe_free(t->item);
} }
TableInit(t); TableInit(t);
@ -382,12 +383,12 @@ abyss_bool TableAddReplace(TTable *t,char *name,char *value)
if (TableFindIndex(t,name,&i)) if (TableFindIndex(t,name,&i))
{ {
free(t->item[i].value); safe_free(t->item[i].value);
if (value) if (value)
t->item[i].value=strdup(value); t->item[i].value=strdup(value);
else else
{ {
free(t->item[i].name); safe_free(t->item[i].name);
if (--t->size>0) if (--t->size>0)
t->item[i]=t->item[t->size]; t->item[i]=t->item[t->size];
}; };
@ -521,7 +522,7 @@ void PoolFree(TPool *p)
while (pz) while (pz)
{ {
npz=pz->next; npz=pz->next;
free(pz); safe_free(pz);
pz=npz; pz=npz;
}; };
} }