mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-24 05:01:03 +02:00
ALSA: ac97: fix possible memory leak in snd_ac97_dev_register()
If device_register() fails in snd_ac97_dev_register(), it should
call put_device() to give up reference, or the name allocated in
dev_set_name() is leaked.
Fixes: 0ca06a00e2
("[ALSA] AC97 bus interface for ad-hoc drivers")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20221019093025.1179475-1-yangyingliang@huawei.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
491a4ccd8a
commit
4881bda5ea
@@ -2009,6 +2009,7 @@ static int snd_ac97_dev_register(struct snd_device *device)
|
|||||||
err = device_register(&ac97->dev);
|
err = device_register(&ac97->dev);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
ac97_err(ac97, "Can't register ac97 bus\n");
|
ac97_err(ac97, "Can't register ac97 bus\n");
|
||||||
|
put_device(&ac97->dev);
|
||||||
ac97->dev.bus = NULL;
|
ac97->dev.bus = NULL;
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user