Linux Sound subsystem development
 help / color / mirror / Atom feed
* [PATCH] ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path
@ 2025-12-15  9:04 Haotian Zhang
  2025-12-15  9:11 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Haotian Zhang @ 2025-12-15  9:04 UTC (permalink / raw)
  To: perex, tiwai; +Cc: linux-sound, linux-kernel, Haotian Zhang, Takashi Iwai

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: 15b99ac17295 ("[PATCH] pcmcia: add return value to _config() functions")
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
---
 sound/pcmcia/pdaudiocf/pdaudiocf.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c
index 13419837dfb7..a3291e626440 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf.c
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c
@@ -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;
 }
 
 
-- 
2.50.1.windows.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path
  2025-12-15  9:04 [PATCH] ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path Haotian Zhang
@ 2025-12-15  9:11 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2025-12-15  9:11 UTC (permalink / raw)
  To: Haotian Zhang; +Cc: perex, tiwai, linux-sound, linux-kernel, Takashi Iwai

On Mon, 15 Dec 2025 10:04:33 +0100,
Haotian Zhang wrote:
> 
> 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: 15b99ac17295 ("[PATCH] pcmcia: add return value to _config() functions")
> Suggested-by: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>

Applied now.  Thanks.


Takashi

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-12-15  9:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-15  9:04 [PATCH] ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path Haotian Zhang
2025-12-15  9:11 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox