HID: hid-uclogic-params: Invalid parameter check in uclogic_params_frame_init_v1_buttonpad

[ Upstream commit aa320fdbbb ]

The function performs a check on the hdev input parameters, however, it
is used before the check.

Initialize the udev variable after the sanity check to avoid a
possible NULL pointer dereference.

Fixes: 9614219e93 ("HID: uclogic: Extract tablet parameter discovery into a module")
Addresses-Coverity-ID: 1443763 ("Null pointer dereference")
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
José Expósito 2022-01-05 18:29:15 +01:00 committed by Greg Kroah-Hartman
parent fc8a47ed62
commit 0fc97f9442
1 changed files with 3 additions and 1 deletions

View File

@ -452,7 +452,7 @@ static int uclogic_params_frame_init_v1_buttonpad(
{
int rc;
bool found = false;
struct usb_device *usb_dev = hid_to_usb_dev(hdev);
struct usb_device *usb_dev;
char *str_buf = NULL;
const size_t str_len = 16;
@ -462,6 +462,8 @@ static int uclogic_params_frame_init_v1_buttonpad(
goto cleanup;
}
usb_dev = hid_to_usb_dev(hdev);
/*
* Enable generic button mode
*/