Skip to content

Commit

Permalink
staging: tm6000: fix memory leak
Browse files Browse the repository at this point in the history
Original code doesn't call kfree(chip) on error.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Kulikov Vasiliy authored and Greg Kroah-Hartman committed Aug 31, 2010
1 parent c2c6a66 commit cd6541c
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/staging/tm6000/tm6000-alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ int tm6000_audio_init(struct tm6000_core *dev)

rc = snd_pcm_new(card, "TM6000 Audio", 0, 0, 1, &pcm);
if (rc < 0)
goto error;
goto error_chip;

pcm->info_flags = 0;
pcm->private_data = chip;
Expand All @@ -413,12 +413,15 @@ int tm6000_audio_init(struct tm6000_core *dev)

rc = snd_card_register(card);
if (rc < 0)
goto error;
goto error_chip;

dprintk(1,"Registered audio driver for %s\n", card->longname);

return 0;

error_chip:
kfree(chip);
dev->adev = NULL;
error:
snd_card_free(card);
return rc;
Expand Down

0 comments on commit cd6541c

Please sign in to comment.