aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
authorZhao Dongdong <zhaodongdong@kylinos.cn>2026-05-27 20:09:10 +0800
committerTakashi Iwai <tiwai@suse.de>2026-05-28 09:35:21 +0200
commitc7fa99d30c7a166a5e5db5a585ce7501ff68326b (patch)
treea962925b9786d0c8a5a0148cc26904b837c671fc /sound
parent1edd1f02dddd20aeb6066ded41017615766ea42f (diff)
downloadlinux-next-history-c7fa99d30c7a166a5e5db5a585ce7501ff68326b.tar.gz
ALSA: gus: check snd_ctl_new1() return value
snd_ctl_new1() can return NULL when memory allocation fails. snd_gf1_pcm_volume_control() does not check the return value before dereferencing kctl->id.index, which can lead to a NULL pointer dereference. Add a NULL check after snd_ctl_new1() and return -ENOMEM if it fails. Assisted-by: Opencode:DeepSeek-V4-Flash Cc: stable@vger.kernel.org Fixes: c5ae57b1bb99 ("ALSA: gus: Fix kctl->id initialization") Signed-off-by: Zhao Dongdong <zhaodongdong@kylinos.cn> Link: https://patch.msgid.link/tencent_F644A3DCAD32945D62DB2FEEBE8A996F6809@qq.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/isa/gus/gus_pcm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/isa/gus/gus_pcm.c b/sound/isa/gus/gus_pcm.c
index a0757e1ede465..08ccb4d80adeb 100644
--- a/sound/isa/gus/gus_pcm.c
+++ b/sound/isa/gus/gus_pcm.c
@@ -851,6 +851,8 @@ int snd_gf1_pcm_new(struct snd_gus_card *gus, int pcm_dev, int control_index)
kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control1, gus);
else
kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control, gus);
+ if (!kctl)
+ return -ENOMEM;
kctl->id.index = control_index;
err = snd_ctl_add(card, kctl);
if (err < 0)