ALSA: hda - Fix a memory leak bug
diff mbox series

Message ID 1565411390-2684-1-git-send-email-wenwen@cs.uga.edu
State New
Headers show
Series
  • ALSA: hda - Fix a memory leak bug
Related show

Commit Message

Wenwen Wang Aug. 10, 2019, 4:29 a.m. UTC
In snd_hda_parse_generic_codec(), 'spec' is allocated through kzalloc().
Then, the pin widgets in 'codec' are parsed. However, if the parsing
process fails, 'spec' is not deallocated, leading to a memory leak.

To fix the above issue, free 'spec' before returning the error.

Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
---
 sound/pci/hda/hda_generic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Takashi Iwai Aug. 10, 2019, 7:57 a.m. UTC | #1
On Sat, 10 Aug 2019 06:29:48 +0200,
Wenwen Wang wrote:
> 
> In snd_hda_parse_generic_codec(), 'spec' is allocated through kzalloc().
> Then, the pin widgets in 'codec' are parsed. However, if the parsing
> process fails, 'spec' is not deallocated, leading to a memory leak.
> 
> To fix the above issue, free 'spec' before returning the error.
> 
> Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>

Applied, thanks.


Takashi

Patch
diff mbox series

diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 485edab..8f2beb1 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -6100,7 +6100,7 @@  static int snd_hda_parse_generic_codec(struct hda_codec *codec)
 
 	err = snd_hda_parse_pin_defcfg(codec, &spec->autocfg, NULL, 0);
 	if (err < 0)
-		return err;
+		goto error;
 
 	err = snd_hda_gen_parse_auto_config(codec, &spec->autocfg);
 	if (err < 0)