From 968751f8359ea3289d4137d6246b17b389bab49d Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Fri, 13 Feb 2015 11:06:25 +0900 Subject: [PATCH] Evas: Free variable in error path Fixes CID 1270032 Resource leaks (RESOURCE_LEAK) Variable "exim" going out of scope leaks the storage it points to. --- src/modules/evas/engines/software_x11/evas_xlib_image.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/evas/engines/software_x11/evas_xlib_image.c b/src/modules/evas/engines/software_x11/evas_xlib_image.c index 9514df450e..166f22a7bd 100644 --- a/src/modules/evas/engines/software_x11/evas_xlib_image.c +++ b/src/modules/evas/engines/software_x11/evas_xlib_image.c @@ -86,16 +86,17 @@ evas_xlib_image_native_set(void *data, void *image, void *native) w = im->cache_entry.w; h = im->cache_entry.h; + n = calloc(1, sizeof(Native)); + if (!n) return NULL; + exim = ecore_x_image_new(w, h, vis, depth); if (!exim) { ERR("ecore_x_image_new failed."); + free(n); return NULL; } - n = calloc(1, sizeof(Native)); - if (!n) return NULL; - memcpy(&(n->ns), ns, sizeof(Evas_Native_Surface)); n->pixmap = pm; n->visual = vis;