summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-10-15 11:28:01 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-10-15 11:28:01 +0900
commit14aca77bfca6e5a50f9fa519e955a5b752f4d6b4 (patch)
treebf2bde531067d68f9d2afee84c6bdb1dc94659b1
parent3d6aae46331ec186b5b7db232925da76894d132e (diff)
fix edje_cc segv when compiling bling bling theme
accessed parts out of range for the part table. check part count first before checking. fixes segv. @fix blinblng: http://enform.haxlab.org/files/blingbling_e21.tgz
Diffstat (limited to '')
-rw-r--r--src/bin/edje/edje_cc_out.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index ab04fed4da..13c809e8b5 100644
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -644,8 +644,11 @@ check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef)
644 644
645 EINA_LIST_FOREACH(ep->targets, l, et) 645 EINA_LIST_FOREACH(ep->targets, l, et)
646 { 646 {
647 if (((ep->action == EDJE_ACTION_TYPE_STATE_SET) || (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT)) && 647 if (((ep->action == EDJE_ACTION_TYPE_STATE_SET) ||
648 (pc->parts[et->id]->type == EDJE_PART_TYPE_MESH_NODE) && strstr(ep->signal, "mouse")) 648 (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT)) &&
649 (et->id < (int)pc->parts_count) &&
650 (pc->parts[et->id]->type == EDJE_PART_TYPE_MESH_NODE) &&
651 (strstr(ep->signal, "mouse")))
649 { 652 {
650 for (i = 0; (i < pc->parts_count) && (ep->source_3d_id < 0); i++) 653 for (i = 0; (i < pc->parts_count) && (ep->source_3d_id < 0); i++)
651 { 654 {