Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b034ed50 authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva Committed by Jiri Kosina
Browse files

HID: core: fix NULL pointer dereference



There is a NULL pointer dereference in case memory resources
for *parse* are not successfully allocated.

Fix this by adding a new goto label and make the execution
path jump to it in case vzalloc() fails.

Addresses-Coverity-ID: 1473081 ("Dereference after null check")
Fixes: b2dd9f2e ("HID: core: fix memory leak on probe")
Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: default avatarStefan Agner <stefan@agner.ch>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 0d6c3011
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1000,7 +1000,7 @@ int hid_open_report(struct hid_device *device)
	parser = vzalloc(sizeof(struct hid_parser));
	if (!parser) {
		ret = -ENOMEM;
		goto err;
		goto alloc_err;
	}

	parser->device = device;
@@ -1049,6 +1049,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);
alloc_err:
	vfree(parser);
	hid_close_report(device);
	return ret;