HID: fix memory leak on error path in debug code
authorJiri Kosina <jkosina@suse.cz>
Fri, 26 Jun 2009 08:50:12 +0000 (10:50 +0200)
committerJiri Kosina <jkosina@suse.cz>
Fri, 26 Jun 2009 08:50:12 +0000 (10:50 +0200)
If hid_get_report() fails, we forgot to free the already allocated buffer
for debugging messages on error path. Fix that up.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-core.c

index 449bd74..86c2ff2 100644 (file)
@@ -1100,8 +1100,10 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
        hid_debug_event(hid, buf);
 
        report = hid_get_report(report_enum, data);
-       if (!report)
+       if (!report) {
+               kfree(buf);
                return -1;
+       }
 
        /* dump the report */
        snprintf(buf, HID_DEBUG_BUFSIZE - 1,