cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=522cb7756d663ac14eaa9d8ecc534bc17fa03aa3
commit 522cb7756d663ac14eaa9d8ecc534bc17fa03aa3 Author: Cedric BAIL <cedric.b...@samsung.com> Date: Thu Mar 13 10:52:37 2014 +0900 evas: track modifier in the limited range of unsigned long long. This fix CID 1191924, CID 1191923, CID 1191922 and CID 1191921. --- src/lib/evas/canvas/evas_key.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/evas/canvas/evas_key.c b/src/lib/evas/canvas/evas_key.c index 22c9f2e..188870c 100644 --- a/src/lib/evas/canvas/evas_key.c +++ b/src/lib/evas/canvas/evas_key.c @@ -150,7 +150,7 @@ _evas_key_modifier_on(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char *key int n; n = (Evas_Modifier_Mask)evas_key_modifier_number(&(e->modifiers), keyname); - if (n < 0) return; + if (n < 0 || n > 63) return; num = (Evas_Modifier_Mask)n; num = 1 << num; e->modifiers.mask |= num; @@ -163,7 +163,7 @@ _evas_key_modifier_off(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char *ke int n; n = evas_key_modifier_number(&(e->modifiers), keyname); - if (n < 0) return; + if (n < 0 || n > 63) return; num = (Evas_Modifier_Mask)n; num = 1 << num; e->modifiers.mask &= ~num; @@ -176,7 +176,7 @@ _evas_key_lock_on(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char *keyname int n; n = evas_key_lock_number(&(e->locks), keyname); - if (n < 0) return; + if (n < 0 || n > 63) return; num = (Evas_Modifier_Mask)n; num = 1 << num; e->locks.mask |= num; @@ -189,7 +189,7 @@ _evas_key_lock_off(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char *keynam int n; n = evas_key_lock_number(&(e->locks), keyname); - if (n < 0) return; + if (n < 0 || n > 63) return; num = (Evas_Modifier_Mask)n; num = 1 << num; e->locks.mask &= ~num; @@ -206,7 +206,7 @@ _evas_key_modifier_mask_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const cha if (!keyname) return 0; n = evas_key_modifier_number(&(e->modifiers), keyname); - if (n < 0) return 0; + if (n < 0 || n > 63) return 0; num = (Evas_Modifier_Mask)n; return 1 << num; } --