From: Peter Hutterer Date: Fri, 23 Aug 2013 00:28:57 +0000 (+1000) Subject: Fix a few signed/unsigned int comparisons X-Git-Tag: libevdev-0.4~48 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d9e633cf66febf6425103366f671d36f6d11814d;p=platform%2Fupstream%2Flibevdev.git Fix a few signed/unsigned int comparisons Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index e4bbd4f..5356e58 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -853,7 +853,7 @@ libevdev_has_event_code(const struct libevdev *dev, unsigned int type, unsigned max = type_to_mask_const(dev, type, &mask); - if (max == -1 || code > max) + if (max == -1 || code > (unsigned int)max) return 0; return bit_is_set(mask, code); @@ -922,7 +922,7 @@ libevdev_get_slot_value(const struct libevdev *dev, unsigned int slot, unsigned if (!libevdev_has_event_type(dev, EV_ABS) || !libevdev_has_event_code(dev, EV_ABS, code)) return 0; - if (slot >= dev->num_slots || slot >= MAX_SLOTS) + if (dev->num_slots < 0 || slot >= (unsigned int)dev->num_slots || slot >= MAX_SLOTS) return 0; if (code > ABS_MT_MAX || code < ABS_MT_MIN) @@ -960,7 +960,8 @@ libevdev_fetch_slot_value(const struct libevdev *dev, unsigned int slot, unsigne { if (libevdev_has_event_type(dev, EV_ABS) && libevdev_has_event_code(dev, EV_ABS, code) && - slot < dev->num_slots && slot < MAX_SLOTS) { + dev->num_slots >= 0 && + slot < (unsigned int)dev->num_slots && slot < MAX_SLOTS) { *value = libevdev_get_slot_value(dev, slot, code); return 1; } else