ALSA: usb-audio: Fix copy&paste error in the validator
authorTakashi Iwai <tiwai@suse.de>
Tue, 22 Oct 2019 15:45:14 +0000 (17:45 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 22 Oct 2019 15:47:32 +0000 (17:47 +0200)
The recently introduced USB-audio descriptor validator had a stupid
copy&paste error that may lead to an unexpected overlook of too short
descriptors for processing and extension units.  It's likely the cause
of the report triggered by syzkaller fuzzer.  Let's fix it.

Fixes: 57f8770620e9 ("ALSA: usb-audio: More validations of descriptor units")
Reported-by: syzbot+0620f79a1978b1133fd7@syzkaller.appspotmail.com
Link: https://lore.kernel.org/r/s5hsgnkdbsl.wl-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/validate.c

index 3c8f73a0eb12254385f9b2ed007bafc46ee74109..a5e584b60dcd83efd9b6732980e72e074e160c31 100644 (file)
@@ -75,7 +75,7 @@ static bool validate_processing_unit(const void *p,
 
        if (d->bLength < sizeof(*d))
                return false;
-       len = d->bLength < sizeof(*d) + d->bNrInPins;
+       len = sizeof(*d) + d->bNrInPins;
        if (d->bLength < len)
                return false;
        switch (v->protocol) {