ALSA: hda - Fix memory leaks at error path in patch_cirrus.c
authorTakashi Iwai <tiwai@suse.de>
Wed, 10 Oct 2012 06:50:35 +0000 (08:50 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 10 Oct 2012 07:24:07 +0000 (09:24 +0200)
The proper destructor should be called at the error path.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_cirrus.c

index fc92819838a14499f66c0efe533a8235c17e4586..f441f53f03062e5aa2c1ceb5b704054b113496a9 100644 (file)
@@ -1444,7 +1444,7 @@ static int patch_cs420x(struct hda_codec *codec)
        return 0;
 
  error:
-       kfree(codec->spec);
+       cs_free(codec);
        codec->spec = NULL;
        return err;
 }
@@ -1989,7 +1989,7 @@ static int patch_cs4210(struct hda_codec *codec)
        return 0;
 
  error:
-       kfree(codec->spec);
+       cs_free(codec);
        codec->spec = NULL;
        return err;
 }
@@ -2014,7 +2014,7 @@ static int patch_cs4213(struct hda_codec *codec)
        return 0;
 
  error:
-       kfree(codec->spec);
+       cs_free(codec);
        codec->spec = NULL;
        return err;
 }