From 522cb7756d663ac14eaa9d8ecc534bc17fa03aa3 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Thu, 13 Mar 2014 10:52:37 +0900 Subject: [PATCH] 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; } -- 2.7.4