HID: uclogic: Add NULL check in uclogic_input_configured()
authorHenry Martin <bsdhenrymartin@gmail.com>
Tue, 1 Apr 2025 09:48:53 +0000 (17:48 +0800)
committerJiri Kosina <jkosina@suse.com>
Thu, 24 Apr 2025 10:12:16 +0000 (12:12 +0200)
devm_kasprintf() returns NULL when memory allocation fails. Currently,
uclogic_input_configured() does not check for this case, which results
in a NULL pointer dereference.

Add NULL check after devm_kasprintf() to prevent this issue.

Fixes: dd613a4e45f8 ("HID: uclogic: Correct devm device reference for hidinput input_dev name")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-uclogic-core.c

index d8008933c052f5c9b5df9dadc5bce353f3c5b948..321c43fb06ae06a9ee7e396c12406710b36c3c98 100644 (file)
@@ -142,11 +142,12 @@ static int uclogic_input_configured(struct hid_device *hdev,
                        suffix = "System Control";
                        break;
                }
-       }
-
-       if (suffix)
+       } else {
                hi->input->name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
                                                 "%s %s", hdev->name, suffix);
+               if (!hi->input->name)
+                       return -ENOMEM;
+       }
 
        return 0;
 }