• Takashi Iwai's avatar
    ALSA: usb-audio: Check mixer unit bitmap yet more strictly · f9f0e9ed
    Takashi Iwai authored
    The bmControls (for UAC1) or bmMixerControls (for UAC2/3) bitmap has a
    variable size depending on both input and output pins.  Its size is to
    fit with input * output bits.  The problem is that the input size
    can't be determined simply from the unit descriptor itself but it
    needs to parse the whole connected sources.  Although the
    uac_mixer_unit_get_channels() tries to check some possible overflow of
    this bitmap, it's incomplete due to the lack of the  evaluation of
    input pins.
    
    For covering possible overflows, this patch adds the bitmap overflow
    check in the loop of input pins in parse_audio_mixer_unit().
    
    Fixes: 0bfe5e43 ("ALSA: usb-audio: Check mixer unit descriptors more strictly")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    f9f0e9ed
mixer.c 95.6 KB