summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2014-09-23 18:03:02 +0200
committerCedric BAIL <cedric@osg.samsung.com>2014-09-23 18:05:29 +0200
commit0a6f26a106c9a2710435397156a77260cce430b2 (patch)
tree88688446ce814dd3ab0ea490db636d862331b703
parent291c546143a24d3bf96b0fdb649fdaf0f4cfa833 (diff)
edje: fix borked edje_external.
Someone fixed a CID without looking of the full use path a data, resulting in a value being used after free and stored in edje file. Leading to a garbage string with no meaning for those poor externals.
-rw-r--r--src/bin/edje/edje_cc_handlers.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 41331ca..577b5c6 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -9859,6 +9859,7 @@ _st_collections_group_parts_part_description_params(Edje_External_Param_Type typ
9859 if (!strcmp(param->name, name)) 9859 if (!strcmp(param->name, name))
9860 { 9860 {
9861 found = 1; 9861 found = 1;
9862 free(name);
9862 break; 9863 break;
9863 } 9864 }
9864 } 9865 }
@@ -9895,8 +9896,6 @@ _st_collections_group_parts_part_description_params(Edje_External_Param_Type typ
9895 9896
9896 if (!found) 9897 if (!found)
9897 ed->external_params = eina_list_append(ed->external_params, param); 9898 ed->external_params = eina_list_append(ed->external_params, param);
9898
9899 free(name);
9900} 9899}
9901 9900
9902/** 9901/**