From patchwork Sat Jun 13 21:06:29 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/1] jffs2: leaking jffs2_summary in function jffs2_scan_medium Date: Sat, 13 Jun 2009 11:06:29 -0000 From: Christian Engelmayer X-Patchwork-Id: 28679 Message-Id: <20090613230629.2a0bc935@frequentis.com> To: dwmw2@infradead.org Cc: linux-mtd@lists.infradead.org, christian.engelmayer@frequentis.com From: Christian Engelmayer In case of an error returned by file_dirty() 's' is not freed as the cleanup path is skipped. Signed-off-by: Christian Engelmayer --- Reported by Coverity. --- linux-2.6.29.4/fs/jffs2/scan.c.orig 2009-06-13 22:49:07.000000000 +0200 +++ linux-2.6.29.4/fs/jffs2/scan.c 2009-06-13 22:29:06.000000000 +0200 @@ -196,7 +196,7 @@ int jffs2_scan_medium(struct jffs2_sb_in 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); } @@ -207,7 +207,7 @@ int jffs2_scan_medium(struct jffs2_sb_in } else { ret = file_dirty(c, jeb); if (ret) - return ret; + goto out; } break;