From 07013042052f126075005f845dbc61302ad0156a Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Mon, 8 Jul 2013 12:39:48 +0100 Subject: [PATCH] Fix memleak reported by Coverity and replace some XFree calls with just free. NB: Fixes Coverity CID1039275 Signed-off-by: Chris Michael --- src/lib/ecore_x/xlib/ecore_x_dnd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/ecore_x/xlib/ecore_x_dnd.c b/src/lib/ecore_x/xlib/ecore_x_dnd.c index f1200172f1..ca5217f1b3 100644 --- a/src/lib/ecore_x/xlib/ecore_x_dnd.c +++ b/src/lib/ecore_x/xlib/ecore_x_dnd.c @@ -268,13 +268,16 @@ ecore_x_dnd_type_set(Ecore_X_Window win, { if (ecore_x_dnd_type_isset(win, type)) { - XFree(old_data); + if (old_data) free(old_data); return; } newset = calloc(num + 1, sizeof(Ecore_X_Atom)); if (!newset) - return; + { + if (old_data) free(old_data); + return; + } data = (unsigned char *)newset; @@ -290,14 +293,14 @@ ecore_x_dnd_type_set(Ecore_X_Window win, { if (!ecore_x_dnd_type_isset(win, type)) { - XFree(old_data); + if (old_data) free(old_data); return; } newset = calloc(num - 1, sizeof(Ecore_X_Atom)); if (!newset) { - XFree(old_data); + if (old_data) free(old_data); return; }