aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dynamic_debug.c
diff options
context:
space:
mode:
authorDan Rosenberg <[email protected]>2010-09-28 18:18:20 +0000
committerTakashi Iwai <[email protected]>2010-09-28 19:33:16 +0000
commit5591bf07225523600450edd9e6ad258bb877b779 (patch)
treef886a48ec51861e74c79eca3052adeb9646d1534 /lib/dynamic_debug.c
parentALSA: sound/pci/rme9652: prevent reading uninitialized stack memory (diff)
downloadkernel-5591bf07225523600450edd9e6ad258bb877b779.tar.gz
kernel-5591bf07225523600450edd9e6ad258bb877b779.zip
ALSA: prevent heap corruption in snd_ctl_new()
The snd_ctl_new() function in sound/core/control.c allocates space for a snd_kcontrol struct by performing arithmetic operations on a user-provided size without checking for integer overflow. If a user provides a large enough size, an overflow will occur, the allocated chunk will be too small, and a second user-influenced value will be written repeatedly past the bounds of this chunk. This code is reachable by unprivileged users who have permission to open a /dev/snd/controlC* device (on many distros, this is group "audio") via the SNDRV_CTL_IOCTL_ELEM_ADD and SNDRV_CTL_IOCTL_ELEM_REPLACE ioctls. Signed-off-by: Dan Rosenberg <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
Diffstat (limited to 'lib/dynamic_debug.c')
0 files changed, 0 insertions, 0 deletions