diff options
| author | Zhao Dongdong <zhaodongdong@kylinos.cn> | 2026-05-27 15:09:10 +0300 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-05-28 10:35:21 +0300 |
| commit | c7fa99d30c7a166a5e5db5a585ce7501ff68326b (patch) | |
| tree | a962925b9786d0c8a5a0148cc26904b837c671fc | |
| parent | 1edd1f02dddd20aeb6066ded41017615766ea42f (diff) | |
| download | linux-c7fa99d30c7a166a5e5db5a585ce7501ff68326b.tar.xz | |
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>
| -rw-r--r-- | sound/isa/gus/gus_pcm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/isa/gus/gus_pcm.c b/sound/isa/gus/gus_pcm.c index a0757e1ede46..08ccb4d80ade 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) |
