From 59ea842b22d14be0ccb568e6662f62635229ab95 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Tue, 16 Jul 2013 18:58:20 +0900 Subject: [PATCH] fix clang bad free better. :) --- src/lib/ecore_ipc/ecore_ipc.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_ipc/ecore_ipc.c b/src/lib/ecore_ipc/ecore_ipc.c index fb1187d52d..03be3cf38c 100644 --- a/src/lib/ecore_ipc/ecore_ipc.c +++ b/src/lib/ecore_ipc/ecore_ipc.c @@ -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; int max; - if (buf) free(buf); - if (buf == svr->buf) svr->buf = NULL; + if (buf != svr->buf) free(buf); buf = NULL; max = svr->max_buf_size; 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, NULL); } + else + { + free(buf); + buf = NULL; + } + } + else + { + free(buf); + buf = NULL; } } svr->prev.i = msg;