diff options
author | Alastair Poole <netstar@gmail.com> | 2019-06-07 19:34:19 +0000 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-06-09 13:15:09 +0200 |
commit | e8e637a79a6cfb2bfec53e9afccde1f216220571 (patch) | |
tree | 00a35607193c79d838993f2f5223fe3a638eb832 | |
parent | 8ae4dbfb3f63b61d1f08a1fc983d59c742011093 (diff) | |
download | efl-e8e637a79a6cfb2bfec53e9afccde1f216220571.tar.gz |
edje_cc_out: Exit instead of segfault on OpenBSD.
Until the cause of these issues can be found exit and
print error messages to console. edje_cc is currently
not reliable on OpenBSD. Until then anyone wanting to
use EFL on this platform will need pre-compiled .edj
files.
Differential Revision: https://phab.enlightenment.org/D9077
-rw-r--r-- | src/bin/edje/edje_cc_out.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index 8a3bcfb3e5..592b592736 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -734,6 +734,12 @@ check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef) { Edje_Part *part; + if (et->id >= (int) pc->parts_count) + { + ERR("Target id '%d' greater than possible index '%d'.", et->id, (int) pc->parts_count - 1); + exit(-1); + } + part = pc->parts[et->id]; /* verify existence of description in part */ if (ep->action == EDJE_ACTION_TYPE_STATE_SET) |