[PATCH] regmap: Fix memory leak in regmap_init error path

From: Lars-Peter Clausen
Date: Thu Nov 10 2011 - 12:14:48 EST


If regcache initialization fails regmap_init will currently exit without
freeing work_buf.

Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
---
drivers/base/regmap/regmap.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 3e30d16..b08df85 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -229,12 +229,14 @@ struct regmap *regmap_init(struct device *dev,

ret = regcache_init(map);
if (ret < 0)
- goto err_map;
+ goto err_free_workbuf;

regmap_debugfs_init(map);

return map;

+err_free_workbuf:
+ kfree(map->work_buf);
err_map:
kfree(map);
err:
--
1.7.7.1


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/