summaryrefslogtreecommitdiff
path: root/lib/libusb/libusb10_desc.c
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2012-05-04 16:25:35 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2012-05-04 16:25:35 +0000
commitc0d06b320b133be6837c017467b23f2767cdab23 (patch)
tree46fc95fb6bfba4d2e63b64e0fe6e3f7b201c39fe /lib/libusb/libusb10_desc.c
parent8e011e601f35a0b19c2e4d1d3811808eaed5b830 (diff)
MFC r228235, r228236, r233667, r234687, r234491, r234193, and r233424:
Minor code simplification. No functional change. Fix some compile warnings. Fix some mdoc issues. Add missing LibUSB 1.0 API function.
Notes
svn path=/stable/8/; revision=235017
Diffstat (limited to 'lib/libusb/libusb10_desc.c')
-rw-r--r--lib/libusb/libusb10_desc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/libusb/libusb10_desc.c b/lib/libusb/libusb10_desc.c
index 6d5822e8c395..8e39bab15b2c 100644
--- a/lib/libusb/libusb10_desc.c
+++ b/lib/libusb/libusb10_desc.c
@@ -390,8 +390,8 @@ libusb_parse_bos_descriptor(const void *buf, int len,
struct libusb_bos_descriptor **bos)
{
struct libusb_bos_descriptor *ptr;
- struct libusb_usb_2_0_device_capability_descriptor *dcap_20;
- struct libusb_ss_usb_device_capability_descriptor *ss_cap;
+ struct libusb_usb_2_0_device_capability_descriptor *dcap_20 = NULL;
+ struct libusb_ss_usb_device_capability_descriptor *ss_cap = NULL;
if (buf == NULL || bos == NULL || len < 1)
return (LIBUSB_ERROR_INVALID_PARAM);
@@ -438,7 +438,7 @@ libusb_parse_bos_descriptor(const void *buf, int len,
dtype == LIBUSB_DT_DEVICE_CAPABILITY) {
switch (((const uint8_t *)buf)[2]) {
case LIBUSB_USB_2_0_EXTENSION_DEVICE_CAPABILITY:
- if (ptr->usb_2_0_ext_cap != NULL)
+ if (ptr->usb_2_0_ext_cap != NULL || dcap_20 == NULL)
break;
if (dlen < LIBUSB_USB_2_0_EXTENSION_DEVICE_CAPABILITY_SIZE)
break;
@@ -455,7 +455,7 @@ libusb_parse_bos_descriptor(const void *buf, int len,
break;
case LIBUSB_SS_USB_DEVICE_CAPABILITY:
- if (ptr->ss_usb_cap != NULL)
+ if (ptr->ss_usb_cap != NULL || ss_cap == NULL)
break;
if (dlen < LIBUSB_SS_USB_DEVICE_CAPABILITY_SIZE)
break;