summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2007-05-03 11:59:51 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2007-07-18 16:52:13 +0300
commit341e1a0cf2d8965c8b2f7941a6b2f2c2170df469 (patch)
treeb0ad5795c32d16e8c198c6177d992a21fde20be5 /drivers/mtd
parentcb32da0416b823b7f4b65e7e85d6cba16ca4d1e1 (diff)
downloadkernel-crypto-341e1a0cf2d8965c8b2f7941a6b2f2c2170df469.tar.gz
kernel-crypto-341e1a0cf2d8965c8b2f7941a6b2f2c2170df469.tar.xz
kernel-crypto-341e1a0cf2d8965c8b2f7941a6b2f2c2170df469.zip
UBI: fix memory leak in checking code
Reported-by: Eric Sesterhenn / Snakebyte <snakebyte@gmx.de> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/ubi/scan.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mtd/ubi/scan.c b/drivers/mtd/ubi/scan.c
index 473f3200b86..e4456869e75 100644
--- a/drivers/mtd/ubi/scan.c
+++ b/drivers/mtd/ubi/scan.c
@@ -1310,8 +1310,10 @@ static int paranoid_check_si(const struct ubi_device *ubi,
memset(buf, 1, ubi->peb_count);
for (pnum = 0; pnum < ubi->peb_count; pnum++) {
err = ubi_io_is_bad(ubi, pnum);
- if (err < 0)
+ if (err < 0) {
+ kfree(buf);
return err;
+ }
else if (err)
buf[pnum] = 0;
}