From 41b9e93beb89f5a20bb440b8d2f1f077b964b16f Mon Sep 17 00:00:00 2001 From: Jiri Kosina Date: Fri, 28 Oct 2011 18:15:02 +0200 Subject: [PATCH] --- yaml --- r: 282309 b: refs/heads/master c: 6da7066906e977d42104a859c490f5f9a300488c h: refs/heads/master i: 282307: ea67029b57a7de4430e7359c6e7f594cdcaf6f6d v: v3 --- [refs] | 2 +- trunk/drivers/hid/hid-input.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a32600b67666..21c05909c4a4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e46e927b9b7e8d95526e69322855243882b7e1a3 +refs/heads/master: 6da7066906e977d42104a859c490f5f9a300488c diff --git a/trunk/drivers/hid/hid-input.c b/trunk/drivers/hid/hid-input.c index f333139d1a48..b7b0d55c0ede 100644 --- a/trunk/drivers/hid/hid-input.c +++ b/trunk/drivers/hid/hid-input.c @@ -822,6 +822,13 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct return; } + /* Ignore absolute values that are out of bounds */ + if ((usage->type == EV_ABS && (value < field->logical_minimum || + value > field->logical_maximum))) { + dbg_hid("Ignoring out-of-range value %x\n", value); + return; + } + /* report the usage code as scancode if the key status has changed */ if (usage->type == EV_KEY && !!test_bit(usage->code, input->key) != value) input_event(input, EV_MSC, MSC_SCAN, usage->hid);