]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
HID: alps: Fix an error handling path in 'alps_input_configured()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Wed, 4 Dec 2019 03:35:25 +0000 (04:35 +0100)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Tue, 7 Apr 2020 08:51:34 +0000 (10:51 +0200)
BugLink: https://bugs.launchpad.net/bugs/1868623
commit 8d2e77b39b8fecb794e19cd006a12f90b14dd077 upstream.

They are issues:
   - if 'input_allocate_device()' fails and return NULL, there is no need
     to free anything and 'input_free_device()' call is a no-op. It can
     be axed.
   - 'ret' is known to be 0 at this point, so we must set it to a
     meaningful value before returning

Fixes: 2562756dde55 ("HID: add Alps I2C HID Touchpad-Stick support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/hid/hid-alps.c

index 1632075568f51cbd64bc4c357915722715f86b2e..cb5f0e5ef15079533afe22d9ecb183505c6b1627 100644 (file)
@@ -714,7 +714,7 @@ static int alps_input_configured(struct hid_device *hdev, struct hid_input *hi)
        if (data->has_sp) {
                input2 = input_allocate_device();
                if (!input2) {
-                       input_free_device(input2);
+                       ret = -ENOMEM;
                        goto exit;
                }