From 54b47a78ebe35f5f35d83b1aa774354b7d69604f Mon Sep 17 00:00:00 2001 From: Srivardhan Hebbar Date: Thu, 8 Oct 2015 12:26:55 +0200 Subject: [PATCH] ecore_con: preventing possible NULL pointer dereference. Summary: Checking if client is NULL before freeing is not of much use. If it is NULL, it would have crashed before when it was dereferenced in printf. So checking NULL before dereferencing. Signed-off-by: Srivardhan Hebbar Reviewers: cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3151 Signed-off-by: Cedric BAIL --- src/examples/ecore/ecore_con_server_simple_example.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/examples/ecore/ecore_con_server_simple_example.c b/src/examples/ecore/ecore_con_server_simple_example.c index 3c46ea2965..e61275785c 100644 --- a/src/examples/ecore/ecore_con_server_simple_example.c +++ b/src/examples/ecore/ecore_con_server_simple_example.c @@ -53,13 +53,14 @@ _del(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Con_Event_Client_Del *e client = ecore_con_client_data_get(ev->client); printf("Lost client with ip %s!\n", ecore_con_client_ip_get(ev->client)); - printf("Total data received from this client: %d\n", client->sdata); + if (client) + { + printf("Total data received from this client: %d\n", client->sdata); + free(client); + } printf("Client was connected for %0.3f seconds.\n", ecore_con_client_uptime_get(ev->client)); - if (client) - free(client); - ecore_con_client_del(ev->client); return ECORE_CALLBACK_RENEW;