• Takashi Iwai's avatar
    ALSA: line6: Fix write on zero-sized buffer · 8b449e9d
    Takashi Iwai authored
    commit 34501219 upstream.
    
    LINE6 drivers allocate the buffers based on the value returned from
    usb_maxpacket() calls.  The manipulated device may return zero for
    this, and this results in the kmalloc() with zero size (and it may
    succeed) while the other part of the driver code writes the packet
    data with the fixed size -- which eventually overwrites.
    
    This patch adds a simple sanity check for the invalid buffer size for
    avoiding that problem.
    
    Reported-by: syzbot+219f00fb49874dcaea17@syzkaller.appspotmail.com
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    8b449e9d
pcm.c 15.9 KB