[PATCH] jffs2: potential memory leaks in jffs2_scan_medium()

From: Florin Malita
Date: Thu Jun 22 2006 - 23:35:53 EST


This patch deals with 3 return paths that fail to perform proper cleanup
(which can result into leaking 'flashbuf' and/or 's').

Coverity IDs: 676, 1301

Signed-off-by: Florin Malita <fmalita@xxxxxxxxx>
---

fs/jffs2/scan.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
index 6161808..4a068de 100644
--- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c
@@ -128,12 +128,12 @@ #endif
}

if (jffs2_sum_active()) {
- s = kmalloc(sizeof(struct jffs2_summary), GFP_KERNEL);
+ s = kzalloc(sizeof(struct jffs2_summary), GFP_KERNEL);
if (!s) {
JFFS2_WARNING("Can't allocate memory for summary\n");
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto out;
}
- memset(s, 0, sizeof(struct jffs2_summary));
}

for (i=0; i<c->nr_blocks; i++) {
@@ -194,7 +194,7 @@ #endif
if (c->nextblock) {
ret = file_dirty(c, c->nextblock);
if (ret)
- return ret;
+ goto out;
/* deleting summary information of the old nextblock */
jffs2_sum_reset_collected(c->summary);
}
@@ -205,7 +205,7 @@ #endif
} else {
ret = file_dirty(c, jeb);
if (ret)
- return ret;
+ goto out;
}
break;



-
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/