From a73ad1b190b59383c5f36ab741e2a09c0913a8b1 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 14 Dec 2016 10:16:23 -0500 Subject: [PATCH] plug iterator leak in e_comp_object_render() ==13307== 96 bytes in 1 blocks are definitely lost in loss record 6,598 of 11,698 ==13307== at 0x4C2DA60: calloc (vg_replace_malloc.c:711) ==13307== by 0xCECA287: eina_tiler_iterator_new (eina_tiler.c:1299) ==13307== by 0x46D13D: e_comp_object_render (e_comp_object.c:3966) ==13307== by 0x46DB42: e_comp_object_dirty (e_comp_object.c:3923) ==13307== by 0x46017D: _e_comp_client_update (e_comp.c:343) ==13307== by 0x46017D: _e_comp_cb_update (e_comp.c:400) ==13307== by 0xB34D4BA: _ecore_job_event_handler (ecore_job.c:98) ==13307== by 0xB34909C: _ecore_call_handler_cb (ecore_private.h:317) ==13307== by 0xB34909C: _ecore_event_call (ecore_events.c:518) ==13307== by 0xB350527: _ecore_main_loop_iterate_internal (ecore_main.c:2359) ==13307== by 0xB3508A6: ecore_main_loop_begin (ecore_main.c:1287) ==13307== by 0x43C88A: main (e_main.c:1093) --- src/bin/e_comp_object.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 580e3ecb0..be4eb0a0d 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3926,7 +3926,7 @@ e_comp_object_dirty(Evas_Object *obj) E_API Eina_Bool e_comp_object_render(Evas_Object *obj) { - Eina_Iterator *it; + Eina_Iterator *it = NULL; Eina_Rectangle *r; Eina_List *l; Evas_Object *o; @@ -4015,8 +4015,8 @@ e_comp_object_render(Evas_Object *obj) RENDER_DEBUG("UPDATE [%p]: %d %d %dx%d -- pix = %p", cw->ec, r->x, r->y, r->w, r->h, pix); } if (!it) pix = NULL; - eina_iterator_free(it); end: + eina_iterator_free(it); evas_object_image_data_set(cw->obj, cw->blanked ? NULL : pix); _e_comp_object_alpha_set(cw);