diff options
| author | Takashi Iwai <[email protected]> | 2017-11-01 16:43:20 +0000 |
|---|---|---|
| committer | Takashi Iwai <[email protected]> | 2017-11-01 16:43:20 +0000 |
| commit | a53a0ab8ff725672fcb47bb9a5ef75fce45679d0 (patch) | |
| tree | 75cdea78f27fdd569d72cea0b7837bbcc8d871f7 /drivers/usb/core/config.c | |
| parent | ALSA: seq: Fix nested rwsem annotation for lockdep splat (diff) | |
| parent | Merge remote-tracking branches 'asoc/fix/topology', 'asoc/fix/adau17x1', 'aso... (diff) | |
| download | kernel-a53a0ab8ff725672fcb47bb9a5ef75fce45679d0.tar.gz kernel-a53a0ab8ff725672fcb47bb9a5ef75fce45679d0.zip | |
Merge tag 'asoc-fix-v4.14-rc7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v4.14
A bunch of fixes here, mostly device specific ones (the biggest one
being the revert of the hotword support for rt5514), with a couple of
core fixes for potential issues with corrupted or otherwise invalid
topology files.
Diffstat (limited to 'drivers/usb/core/config.c')
| -rw-r--r-- | drivers/usb/core/config.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index 68b54bd88d1e..883549ee946c 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -960,10 +960,12 @@ int usb_get_bos_descriptor(struct usb_device *dev) for (i = 0; i < num; i++) { buffer += length; cap = (struct usb_dev_cap_header *)buffer; - length = cap->bLength; - if (total_len < length) + if (total_len < sizeof(*cap) || total_len < cap->bLength) { + dev->bos->desc->bNumDeviceCaps = i; break; + } + length = cap->bLength; total_len -= length; if (cap->bDescriptorType != USB_DT_DEVICE_CAPABILITY) { |
