From 0098aa66705f1736f093bbf0f15302c9c8ac3598 Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Fri, 21 Sep 2018 16:50:30 +0900 Subject: [PATCH] elementary: fix memory leak from Efl.Ui.Layout.Object Summary: The 'data' could not be added to hash in a condition. It has to be free'd before ending the function. @fix Test Plan: N/A Reviewers: cedric, raster, Hermet, zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7083 --- src/lib/elementary/efl_ui_layout_object.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/lib/elementary/efl_ui_layout_object.c b/src/lib/elementary/efl_ui_layout_object.c index fd11223f2e..b3f5796f16 100644 --- a/src/lib/elementary/efl_ui_layout_object.c +++ b/src/lib/elementary/efl_ui_layout_object.c @@ -2165,12 +2165,16 @@ _efl_ui_layout_object_efl_ui_model_connect_connect(Eo *obj EINA_UNUSED, Efl_Ui_L } // Update display right away if possible - if (!pd->connect.model) return ; + if (pd->connect.model) + { + if (hash == pd->connect.signals) + _efl_ui_layout_view_model_signal_update(pd, data, sprop); + else + _efl_ui_layout_view_model_property_update(pd, data, sprop); + } - if (hash == pd->connect.signals) - _efl_ui_layout_view_model_signal_update(pd, data, sprop); - else - _efl_ui_layout_view_model_property_update(pd, data, sprop); + if (!sprop) + free(data); } EOLIAN static void