• Takashi Iwai's avatar
    ALSA: usb-audio: Check mixer unit descriptors more strictly · 0bfe5e43
    Takashi Iwai authored
    We've had some sanity checks of the mixer unit descriptors but they
    are too loose and some corner cases are overlooked.  Add more strict
    checks in uac_mixer_unit_get_channels() for avoiding possible OOB
    accesses by malformed descriptors.
    
    This also changes the semantics of uac_mixer_unit_get_channels()
    slightly.  Now it returns zero for the cases where the descriptor
    lacks of bmControls instead of -EINVAL.  Then the caller side skips
    the mixer creation for such unit while it keeps parsing it.
    This corresponds to the case like Maya44.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    0bfe5e43
mixer.c 95.2 KB