forked from enlightenment/efl
edje_cc: protect array lookup
it seems with those two actions here in the commit, do use id in a different way the other actions do. This is commit protects against this. Differential Revision: https://phab.enlightenment.org/D9078
This commit is contained in:
parent
e8e637a79a
commit
2ae6055d80
|
@ -734,6 +734,14 @@ check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef)
|
||||||
{
|
{
|
||||||
Edje_Part *part;
|
Edje_Part *part;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* we are accessing part with an id,
|
||||||
|
* if actions is ACTION_STOP or ACTION_TYPE_SCRIPT, then id is from the parts array.
|
||||||
|
* In order to not crash here, we should continue here.
|
||||||
|
*/
|
||||||
|
if (ep->action != EDJE_ACTION_TYPE_ACTION_STOP || ep->action != EDJE_ACTION_TYPE_SCRIPT)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (et->id >= (int) pc->parts_count)
|
if (et->id >= (int) pc->parts_count)
|
||||||
{
|
{
|
||||||
ERR("Target id '%d' greater than possible index '%d'.", et->id, (int) pc->parts_count - 1);
|
ERR("Target id '%d' greater than possible index '%d'.", et->id, (int) pc->parts_count - 1);
|
||||||
|
|
Loading…
Reference in New Issue