From c0ca1bcf441249c2a646af1e8a5dcc6c00ad3a74 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Wed, 13 Aug 2014 08:44:44 +0900 Subject: [PATCH] ecore-con - fix possible leak due to other fix this fixes potential leak due to ff652084e028b3c8e8f69cf16baecbad32bb40e7 fixing a valgrind access issue. make sure the server is in the list before handling error conditions in case a callback sets delete_me (should never though). --- src/lib/ecore_con/ecore_con.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c index 6d1c97b58b..22dd887dc1 100644 --- a/src/lib/ecore_con/ecore_con.c +++ b/src/lib/ecore_con/ecore_con.c @@ -372,6 +372,8 @@ ecore_con_server_add(Ecore_Con_Type compl_type, svr->clients = NULL; svr->ppid = getpid(); + servers = eina_list_append(servers, svr); + svr->name = strdup(name); if (!svr->name) goto error; @@ -409,8 +411,6 @@ ecore_con_server_add(Ecore_Con_Type compl_type, svr)) goto error; - servers = eina_list_append(servers, svr); - return svr; error: @@ -449,6 +449,8 @@ ecore_con_server_connect(Ecore_Con_Type compl_type, svr->clients = NULL; svr->client_limit = -1; + servers = eina_list_append(servers, svr); + svr->name = strdup(name); if (!svr->name) goto error; @@ -502,8 +504,6 @@ ecore_con_server_connect(Ecore_Con_Type compl_type, /* UDP and MCAST */ EINA_SAFETY_ON_FALSE_GOTO(ecore_con_info_udp_connect(svr, _ecore_con_cb_udp_connect, svr), error); - servers = eina_list_append(servers, svr); - return svr; error: