]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
HID: core: Avoid uninitialized buffer access
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 18 Sep 2015 23:31:33 +0000 (16:31 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 26 May 2016 22:43:35 +0000 (15:43 -0700)
Orabug: 23330580

commit 79b568b9d0c7c5d81932f4486d50b38efdd6da6d upstream.

hid_connect adds various strings to the buffer but they're all
conditional. You can find circumstances where nothing would be written
to it but the kernel will still print the supposedly empty buffer with
printk. This leads to corruption on the console/in the logs.

Ensure buf is initialized to an empty string.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[dvhart: Initialize string to "" rather than assign buf[0] = NULL;]
Cc: Jiri Kosina <jikos@kernel.org>
Cc: linux-input@vger.kernel.org
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b50a2b556d1e487c2430e13042a98325adca0be5)

Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/hid/hid-core.c

index 722a925795a2886557d9b86ed9befdc4c53b5514..9ce9dfeb12583b12a3f5ab5dcbda83b4f2cbd83c 100644 (file)
@@ -1589,7 +1589,7 @@ int hid_connect(struct hid_device *hdev, unsigned int connect_mask)
                "Multi-Axis Controller"
        };
        const char *type, *bus;
-       char buf[64];
+       char buf[64] = "";
        unsigned int i;
        int len;
        int ret;