• Hui Peng's avatar
    ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks · cbb2ebf7
    Hui Peng authored
    In `create_composite_quirk`, the terminating condition of for loops is
    `quirk->ifnum < 0`. So any composite quirks should end with `struct
    snd_usb_audio_quirk` object with ifnum < 0.
    
        for (quirk = quirk_comp->data; quirk->ifnum >= 0; ++quirk) {
    
        	.....
        }
    
    the data field of Bower's & Wilkins PX headphones usb device device quirks
    do not end with {.ifnum = -1}, wihch may result in out-of-bound read.
    
    This Patch fix the bug by adding an ending quirk object.
    
    Fixes: 240a8af9 ("ALSA: usb-audio: Add a quirck for B&W PX headphones")
    Signed-off-by: default avatarHui Peng <benquike@163.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    cbb2ebf7
quirks-table.h 79.7 KB