[alsa-devel] [PATCH 2/12] ak4642: fix a memory leak if failed to initialise AK4642

Axel Lin axel.lin at gmail.com
Thu Jul 15 04:52:09 CEST 2010


ak4642 should be kfreed if ak4642_init() return error.

Signed-off-by: Axel Lin <axel.lin at gmail.com>
---
 sound/soc/codecs/ak4642.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/sound/soc/codecs/ak4642.c b/sound/soc/codecs/ak4642.c
index 7528a54..4feefa8 100644
--- a/sound/soc/codecs/ak4642.c
+++ b/sound/soc/codecs/ak4642.c
@@ -491,8 +491,10 @@ static int ak4642_i2c_probe(struct i2c_client *i2c,
 	codec->control_data = i2c;
 
 	ret = ak4642_init(ak4642);
-	if (ret < 0)
+	if (ret < 0) {
 		printk(KERN_ERR "failed to initialise AK4642\n");
+		kfree(ak4642);
+	}
 
 	return ret;
 }
-- 
1.5.4.3





More information about the Alsa-devel mailing list