From d9e633cf66febf6425103366f671d36f6d11814d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 23 Aug 2013 10:28:57 +1000 Subject: [PATCH] Fix a few signed/unsigned int comparisons Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- libevdev/libevdev.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 -- 2.34.1