mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 12:21:22 -05:00
ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path
When pdacf_config() fails, snd_pdacf_probe() returns the error code
directly without freeing the sound card resources allocated by
snd_card_new(), which leads to a memory leak.
Add proper error handling to free the sound card and clear the card
list entry when pdacf_config() fails.
Fixes: 15b99ac172 ("[PATCH] pcmcia: add return value to _config() functions")
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20251215090433.211-1-vulab@iscas.ac.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
2a03b40dea
commit
5032347c04
@@ -131,7 +131,13 @@ static int snd_pdacf_probe(struct pcmcia_device *link)
|
||||
link->config_index = 1;
|
||||
link->config_regs = PRESENT_OPTION;
|
||||
|
||||
return pdacf_config(link);
|
||||
err = pdacf_config(link);
|
||||
if (err < 0) {
|
||||
card_list[i] = NULL;
|
||||
snd_card_free(card);
|
||||
return err;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user