mirror of https://gitee.com/openkylin/linux.git
ALSA: usb - driver neglects kmalloc return value check and may deref NULL
sound/usb/pcm.c::snd_usb_pcm_check_knot() fails to check the return value from kmalloc() and may end up dereferencing a null pointer. The patch below (compile tested only) should take care of that little problem. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
89e1e66d6b
commit
8a8d56b2a2
|
@ -676,8 +676,10 @@ static int snd_usb_pcm_check_knot(struct snd_pcm_runtime *runtime,
|
||||||
if (!needs_knot)
|
if (!needs_knot)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
subs->rate_list.count = count;
|
|
||||||
subs->rate_list.list = kmalloc(sizeof(int) * count, GFP_KERNEL);
|
subs->rate_list.list = kmalloc(sizeof(int) * count, GFP_KERNEL);
|
||||||
|
if (!subs->rate_list.list)
|
||||||
|
return -ENOMEM;
|
||||||
|
subs->rate_list.count = count;
|
||||||
subs->rate_list.mask = 0;
|
subs->rate_list.mask = 0;
|
||||||
count = 0;
|
count = 0;
|
||||||
list_for_each_entry(fp, &subs->fmt_list, list) {
|
list_for_each_entry(fp, &subs->fmt_list, list) {
|
||||||
|
|
Loading…
Reference in New Issue