raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=48f45da5fb97ffa65a36ba310f86f8794f90baa5
commit 48f45da5fb97ffa65a36ba310f86f8794f90baa5 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Fri Aug 22 18:11:03 2014 +0900 fix possible integer overflows with bitshift these are very unlinkely, but in theory possible so check return value and don't use an invalid bitshift. fixes CID 1039318 and CID 1039319 --- src/lib/evas/canvas/evas_key.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/evas/canvas/evas_key.c b/src/lib/evas/canvas/evas_key.c index 82472aa..76b785b 100644 --- a/src/lib/evas/canvas/evas_key.c +++ b/src/lib/evas/canvas/evas_key.c @@ -53,6 +53,7 @@ evas_key_modifier_is_set(const Evas_Modifier *m, const char *keyname) if (!keyname) return 0; n = evas_key_modifier_number(m, keyname); if (n < 0) return 0; + else if (n >= 64) return 0; num = (Evas_Modifier_Mask)n; num = 1 << num; if (m->mask & num) return 1; @@ -69,6 +70,7 @@ evas_key_lock_is_set(const Evas_Lock *l, const char *keyname) if (!keyname) return 0; n = evas_key_lock_number(l, keyname); if (n < 0) return 0; + else if (n >= 64) return 0; num = (Evas_Modifier_Mask)n; num = 1 << num; if (l->mask & num) return 1; --
