path: root/src/bin/edje
diff options
authorTom Hacohen <>2015-10-09 12:29:41 +0100
committerTom Hacohen <>2015-10-09 12:29:41 +0100
commite54fd09c34ab3580736cf1205c5c1edb621a65b8 (patch)
treee462aae255c83bc87da85d02413d129f24d40df8 /src/bin/edje
parentfa6fac81821974b2ca20131f146af38fb4d1f7a5 (diff)
Edje cc handlers: Fix memory leak and possible crash.
Due to a misplaced semicolon, EINA_LIST_FREE was doing nothing and only the last part was freed if there was one, and probably a crash if there wasn't. This shows again that having statements without {} is dangerous. We need to force {} and add a lint rule, or at the very least, add a rule to put the ; in a new line (like clang warns about by default anyway). @fix
Diffstat (limited to 'src/bin/edje')
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index e75f0cd99d..c214f5b6c1 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -5081,7 +5081,7 @@ _program_free(Edje_Program *pr)
5081 free((void*)pr->state2); 5081 free((void*)pr->state2);
5082 free((void*)pr->sample_name); 5082 free((void*)pr->sample_name);
5083 free((void*)pr->tone_name); 5083 free((void*)pr->tone_name);
5084 EINA_LIST_FREE(pr->targets, prt); 5084 EINA_LIST_FREE(pr->targets, prt)
5085 free(prt); 5085 free(prt);
5086 EINA_LIST_FREE(pr->after, pa) 5086 EINA_LIST_FREE(pr->after, pa)
5087 free(pa); 5087 free(pa);