Skip to content

Commit 5032347

Browse files
ISCAS-Vulabtiwai
authored andcommitted
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: 15b99ac ("[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>
1 parent 2a03b40 commit 5032347

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

sound/pcmcia/pdaudiocf/pdaudiocf.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,13 @@ static int snd_pdacf_probe(struct pcmcia_device *link)
131131
link->config_index = 1;
132132
link->config_regs = PRESENT_OPTION;
133133

134-
return pdacf_config(link);
134+
err = pdacf_config(link);
135+
if (err < 0) {
136+
card_list[i] = NULL;
137+
snd_card_free(card);
138+
return err;
139+
}
140+
return 0;
135141
}
136142

137143

0 commit comments

Comments
 (0)