提交 41550d54 authored 作者: Anthony Minessale's avatar Anthony Minessale

safe_free

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6757 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 5fea0727
...@@ -42,6 +42,7 @@ ...@@ -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) { ...@@ -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) { ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
}; };
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论