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
devs/felipealmeida/tctautomated
Marcel Hollerbach 4 years ago
parent e8e637a79a
commit 2ae6055d80
  1. 8
      src/bin/edje/edje_cc_out.c

@ -734,6 +734,14 @@ check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef)
{
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)
{
ERR("Target id '%d' greater than possible index '%d'.", et->id, (int) pc->parts_count - 1);

Loading…
Cancel
Save