eo: Fix memleak in EO_DBG_INFO_APPEND macro

If List is NULL we would never make any use of the alloced Tmp. Better check
for NULL before doing the actual alloc and doing the work.
This commit is contained in:
Stefan Schmidt 2013-05-14 13:54:43 +01:00
parent d22a4c6ef9
commit 7ac997c5bb
1 changed files with 4 additions and 4 deletions

View File

@ -180,12 +180,12 @@ EO_DBG_INFO_LIST_APPEND(Eo_Dbg_Info *list, const char *name)
#define EO_DBG_INFO_APPEND(LIST, NAME, TYPE, VALUE) \
do { \
Eo_Dbg_Info *List = LIST; \
Eo_Dbg_Info *Tmp = calloc(1, sizeof(*Tmp)); \
Tmp->name = eina_stringshare_add(NAME); \
eina_value_setup(&(Tmp->value), TYPE); \
eina_value_set(&(Tmp->value), VALUE); \
if (List) \
{ \
Eo_Dbg_Info *Tmp = calloc(1, sizeof(*Tmp)); \
Tmp->name = eina_stringshare_add(NAME); \
eina_value_setup(&(Tmp->value), TYPE); \
eina_value_set(&(Tmp->value), VALUE); \
eina_value_list_pappend(&(List->value), Tmp); \
} \
} while (0)