!5 usbutils: backport one patch to init string buffer before reading from it

From: @liuzhiqiang26
Reviewed-by: @lixiaokeng,@wubo009
Signed-off-by: @wubo009
This commit is contained in:
openeuler-ci-bot 2020-11-02 10:36:31 +08:00 committed by Gitee
commit 3673255d24
2 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,37 @@
From e3a98cd4870e46cefbfaa1c6f3142c70351aba02 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Thu, 22 Oct 2020 12:01:44 +0200
Subject: [PATCH 11/15] usbmisc: initialize string buffer before reading from
device.
Cliff Biffle points out that some devices lie about the length of their
string, so we end up with stack data in the string buffer, which is then
displayed by userspace. Fix this up by initializing the data to 0 first
before reading from the device.
Reported-by: Cliff L. Biffle <code@cliffle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
usbmisc.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/usbmisc.c b/usbmisc.c
index 9a329f2..ba0591f 100644
--- a/usbmisc.c
+++ b/usbmisc.c
@@ -210,6 +210,12 @@ char *get_dev_string(libusb_device_handle *dev, uint8_t id)
langid = get_any_langid(dev);
if (!langid) return strdup("(error)");
+ /*
+ * Some devices lie about their string size, so initialize
+ * the buffer with all 0 to account for that.
+ */
+ memset(unicode_buf, 0x00, sizeof(unicode_buf));
+
ret = libusb_get_string_descriptor(dev, id, langid,
(unsigned char *) unicode_buf,
sizeof unicode_buf);
--
1.8.3.1

View File

@ -1,6 +1,6 @@
Name: usbutils
Version: 012
Release: 1
Release: 2
Summary: Linux utilities for USB device
License: GPLv2+
URL: http://www.linux-usb.org/
@ -9,6 +9,8 @@ Source0: https://www.kernel.org/pub/linux/utils/usb/usbutils/%{name}-%{version}.
Source1: GPL-2.0.txt
Source2: GPL-3.0.txt
Patch1: 0001-usbmisc-initialize-string-buffer-before-reading-from.patch
BuildRequires: libusbx-devel systemd-devel git gcc autoconf automake libtool
Requires: hwdata
@ -44,6 +46,9 @@ install -D -m 644 %{SOURCE2} %{buildroot}%{_defaultlicensedir}/%{name}/GPL-3.0.t
%{_mandir}/*/*
%changelog
* Thu Oct 29 2020 Zhiqiang Liu <liuzhiqiang26@huawei.com> -012-2
- backport one patch to init string buffer before reading from it
* Thu July 16 2020 liubo <liubo254@huawei.com> -012-1
- upgrade package to 012