ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
authorSu Hui <suhui@nfschina.com>
Thu, 15 Jun 2023 02:17:32 +0000 (10:17 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:30 +0000 (16:21 +0200)
[ Upstream commit 79597c8bf64ca99eab385115743131d260339da5 ]

smatch error:
sound/pci/ac97/ac97_codec.c:2354 snd_ac97_mixer() error:
we previously assumed 'rac97' could be null (see line 2072)

remove redundant assignment, return error if rac97 is NULL.

Fixes: da3cec35dd3c ("ALSA: Kill snd_assert() in sound/pci/*")
Signed-off-by: Su Hui <suhui@nfschina.com>
Link: https://lore.kernel.org/r/20230615021732.1972194-1-suhui@nfschina.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/pci/ac97/ac97_codec.c

index ff68532..534ea7a 100644 (file)
@@ -2070,8 +2070,8 @@ int snd_ac97_mixer(struct snd_ac97_bus *bus, struct snd_ac97_template *template,
                .dev_disconnect =       snd_ac97_dev_disconnect,
        };
 
-       if (rac97)
-               *rac97 = NULL;
+       if (!rac97)
+               return -EINVAL;
        if (snd_BUG_ON(!bus || !template))
                return -EINVAL;
        if (snd_BUG_ON(template->num >= 4))