fix clang bad free better. :)

This commit is contained in:
Carsten Haitzler 2013-07-16 18:58:20 +09:00
parent d12b6e6fa1
commit 59ea842b22
1 changed files with 11 additions and 2 deletions

View File

@ -1467,8 +1467,7 @@ _ecore_ipc_event_server_data(void *data EINA_UNUSED, int ev_type EINA_UNUSED, vo
Ecore_Ipc_Event_Server_Data *e2; Ecore_Ipc_Event_Server_Data *e2;
int max; int max;
if (buf) free(buf); if (buf != svr->buf) free(buf);
if (buf == svr->buf) svr->buf = NULL;
buf = NULL; buf = NULL;
max = svr->max_buf_size; max = svr->max_buf_size;
if ((max < 0) || (msg.size <= max)) if ((max < 0) || (msg.size <= max))
@ -1503,6 +1502,16 @@ _ecore_ipc_event_server_data(void *data EINA_UNUSED, int ev_type EINA_UNUSED, vo
_ecore_ipc_event_server_data_free, _ecore_ipc_event_server_data_free,
NULL); NULL);
} }
else
{
free(buf);
buf = NULL;
}
}
else
{
free(buf);
buf = NULL;
} }
} }
svr->prev.i = msg; svr->prev.i = msg;