|
@@ -1039,6 +1039,7 @@ int hid_open_report(struct hid_device *device)
|
|
|
hid_err(device, "unbalanced delimiter at end of report description\n");
|
|
|
goto err;
|
|
|
}
|
|
|
+ kfree(parser->collection_stack);
|
|
|
vfree(parser);
|
|
|
device->status |= HID_STAT_PARSED;
|
|
|
return 0;
|
|
@@ -1047,6 +1048,7 @@ int hid_open_report(struct hid_device *device)
|
|
|
|
|
|
hid_err(device, "item fetching failed at offset %d\n", (int)(end - start));
|
|
|
err:
|
|
|
+ kfree(parser->collection_stack);
|
|
|
vfree(parser);
|
|
|
hid_close_report(device);
|
|
|
return ret;
|