cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1b1e0450a2ae7011fe6478f6001d4d96d67756c9
commit 1b1e0450a2ae7011fe6478f6001d4d96d67756c9 Author: Cedric BAIL <cedric.b...@samsung.com> Date: Fri Mar 7 15:01:36 2014 +0900 edje: do not leak in case of error. @fix CID 1191310 and CID 1191311 --- src/lib/edje/edje_edit.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 105f25a..4bf1531 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -4336,17 +4336,21 @@ edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const cha eina_stringshare_del(sname); } - if (!found && p && external->external_params) - external->external_params = eina_list_append(external->external_params, p); + if (!found) + { + if (external) + external->external_params = eina_list_append(external->external_params, p); + else + free(p); + } if (rp->typedata.swallow && rp->param1.external_params) - _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object, - rp->param1.external_params); + _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object, + rp->param1.external_params); if (rp->typedata.swallow && external->external_params) rp->param1.external_params = \ - _edje_external_params_parse(rp->typedata.swallow->swallowed_object, - external->external_params); - + _edje_external_params_parse(rp->typedata.swallow->swallowed_object, + external->external_params); return EINA_TRUE; } --