don't use invalid config descriptors (#707853)
This commit is contained in:
parent
add39a2d5b
commit
08ae144374
50
usbutils-003-invalid-config-descriptors.patch
Normal file
50
usbutils-003-invalid-config-descriptors.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From d63fa164a4ffebc5247acaa3b80b0d4f2e21d926 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nils Philippsen <nils@redhat.com>
|
||||||
|
Date: Mon, 30 May 2011 17:19:47 +0200
|
||||||
|
Subject: [PATCH] don't use invalid config descriptors
|
||||||
|
|
||||||
|
This fixes "lsusb -v" crashing if device files are present but can't be
|
||||||
|
opened.
|
||||||
|
---
|
||||||
|
lsusb.c | 23 +++++++++++++++++------
|
||||||
|
1 files changed, 17 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lsusb.c b/lsusb.c
|
||||||
|
index 6ba2288..25dbc51 100644
|
||||||
|
--- a/lsusb.c
|
||||||
|
+++ b/lsusb.c
|
||||||
|
@@ -3800,14 +3800,25 @@ static void dumpdev(libusb_device *dev)
|
||||||
|
if (desc.bNumConfigurations) {
|
||||||
|
struct libusb_config_descriptor *config;
|
||||||
|
|
||||||
|
- libusb_get_config_descriptor(dev, 0, &config);
|
||||||
|
- otg = do_otg(config) || otg;
|
||||||
|
- libusb_free_config_descriptor(config);
|
||||||
|
+ ret = libusb_get_config_descriptor(dev, 0, &config);
|
||||||
|
+ if (ret) {
|
||||||
|
+ fprintf(stderr, "Couldn't get configuration descriptor 0, "
|
||||||
|
+ "some information will be missing\n");
|
||||||
|
+ } else {
|
||||||
|
+ otg = do_otg(config) || otg;
|
||||||
|
+ libusb_free_config_descriptor(config);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
for (i = 0; i < desc.bNumConfigurations; ++i) {
|
||||||
|
- libusb_get_config_descriptor(dev, i, &config);
|
||||||
|
- dump_config(udev, config);
|
||||||
|
- libusb_free_config_descriptor(config);
|
||||||
|
+ ret = libusb_get_config_descriptor(dev, i, &config);
|
||||||
|
+ if (ret) {
|
||||||
|
+ fprintf(stderr, "Couldn't get configuration "
|
||||||
|
+ "descriptor %d, some information will "
|
||||||
|
+ "be missing\n", i);
|
||||||
|
+ } else {
|
||||||
|
+ dump_config(udev, config);
|
||||||
|
+ libusb_free_config_descriptor(config);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!udev)
|
||||||
|
--
|
||||||
|
1.7.5.4
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: usbutils
|
Name: usbutils
|
||||||
Version: 003
|
Version: 003
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Source: http://www.kernel.org/pub/linux/utils/usb/usbutils/%{name}-%{version}.tar.gz
|
Source: http://www.kernel.org/pub/linux/utils/usb/usbutils/%{name}-%{version}.tar.gz
|
||||||
URL: http://www.linux-usb.org/
|
URL: http://www.linux-usb.org/
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -12,6 +12,11 @@ Summary: Linux USB utilities
|
|||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
Conflicts: hotplug < 3:2002_01_14-2
|
Conflicts: hotplug < 3:2002_01_14-2
|
||||||
Patch0: usbutils-003-hwdata.patch
|
Patch0: usbutils-003-hwdata.patch
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=707853
|
||||||
|
# "[abrt] usbutils-001-3.fc15: find_otg: Process /usr/bin/lsusb was killed by
|
||||||
|
# signal 11 (SIGSEGV)"
|
||||||
|
# sent to upstream (Greg KH) via email and github pull request
|
||||||
|
Patch1: usbutils-003-invalid-config-descriptors.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains utilities for inspecting devices connected to a
|
This package contains utilities for inspecting devices connected to a
|
||||||
@ -20,6 +25,7 @@ USB bus.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1 -b .invalid-config-descriptors
|
||||||
autoreconf
|
autoreconf
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -44,6 +50,9 @@ sed -i 's|usbids=/usr/share/usb.ids|usbids=/usr/share/hwdata/usb.ids|' $RPM_BUIL
|
|||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 27 2011 Nils Philippsen <nils@redhat.com> 003-2
|
||||||
|
- don't use invalid config descriptors (#707853)
|
||||||
|
|
||||||
* Thu Jun 16 2011 Jiri Moskovcak <jmoskovc@redhat.com> 003-1
|
* Thu Jun 16 2011 Jiri Moskovcak <jmoskovc@redhat.com> 003-1
|
||||||
- new upstream release
|
- new upstream release
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user