HID: check for NULL field when setting values
authorKees Cook <keescook@chromium.org>
Wed, 28 Aug 2013 20:32:01 +0000 (20:32 +0000)
committerWilly Tarreau <w@1wt.eu>
Mon, 19 May 2014 05:53:29 +0000 (07:53 +0200)
commit be67b68d52fa28b9b721c47bb42068f0c1214855 upstream

Defensively check that the field to be worked on is not NULL.

Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: stable@kernel.org
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/hid/hid-core.c

index e40e3c4ba802b3d1dfd9ce48fb8d02ed9ae3cbc7..a222cbbb4ed75e6544329604cb6c70559e7954f7 100644 (file)
@@ -983,7 +983,12 @@ EXPORT_SYMBOL_GPL(hid_output_report);
 
 int hid_set_field(struct hid_field *field, unsigned offset, __s32 value)
 {
-       unsigned size = field->report_size;
+       unsigned size;
+
+       if (!field)
+               return -1;
+
+       size = field->report_size;
 
        hid_dump_input(field->report->device, field->usage + offset, value);