From 14aca77bfca6e5a50f9fa519e955a5b752f4d6b4 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 15 Oct 2016 11:28:01 +0900 Subject: [PATCH] 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 --- src/bin/edje/edje_cc_out.c | 7 +++++-- 1 file 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) EINA_LIST_FOREACH(ep->targets, l, et) { - if (((ep->action == EDJE_ACTION_TYPE_STATE_SET) || (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT)) && - (pc->parts[et->id]->type == EDJE_PART_TYPE_MESH_NODE) && strstr(ep->signal, "mouse")) + if (((ep->action == EDJE_ACTION_TYPE_STATE_SET) || + (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT)) && + (et->id < (int)pc->parts_count) && + (pc->parts[et->id]->type == EDJE_PART_TYPE_MESH_NODE) && + (strstr(ep->signal, "mouse"))) { for (i = 0; (i < pc->parts_count) && (ep->source_3d_id < 0); i++) {