MLK-11942 ASoC: fsl_asrc_m2m: free pair after allocating m2m failed
authorZidan Wang <zidan.wang@freescale.com>
Wed, 2 Dec 2015 03:02:12 +0000 (11:02 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:49:28 +0000 (14:49 -0500)
free pair after allocating m2m failed. Reported by coverity.

Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
(cherry picked from commit 237a35db5b48b78250a019f891d9d746c3411d49)

sound/soc/fsl/fsl_asrc_m2m.c

index 8de37d4..0caed62 100644 (file)
@@ -827,7 +827,8 @@ static int fsl_asrc_open(struct inode *inode, struct file *file)
        m2m = kzalloc(sizeof(struct fsl_asrc_m2m), GFP_KERNEL);
        if (!m2m) {
                dev_err(dev, "failed to allocate m2m resource\n");
-               return -ENOMEM;
+               ret = -ENOMEM;
+               goto out;
        }
 
        pair->private = m2m;
@@ -843,6 +844,10 @@ static int fsl_asrc_open(struct inode *inode, struct file *file)
        pm_runtime_get_sync(dev);
 
        return 0;
+out:
+       kfree(pair);
+
+       return ret;
 }
 
 static int fsl_asrc_close(struct inode *inode, struct file *file)