ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk()
authorXi Wang <xi.wang@gmail.com>
Tue, 14 Feb 2012 10:18:48 +0000 (05:18 -0500)
committerTakashi Iwai <tiwai@suse.de>
Wed, 15 Feb 2012 13:58:15 +0000 (14:58 +0100)
commit8866f405efd4171f9d9c91901d2dd02f01bacb60
tree414b07ed6d979f9aad804dc16b4f280247741eaf
parent27c3afe6e1cf129faac90405121203962da08ff4
ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk()

A malicious USB device could feed in a large nr_rates value.  This would
cause the subsequent call to kmemdup() to allocate a smaller buffer than
expected, leading to out-of-bounds access.

This patch validates the nr_rates value and reuses the limit introduced
in commit 4fa0e81b ("ALSA: usb-audio: fix possible hang and overflow
in parse_uac2_sample_rate_range()").

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/card.h
sound/usb/format.c
sound/usb/quirks.c