Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b5ffbc1 authored by Florin Malita's avatar Florin Malita Committed by David Woodhouse
Browse files

[PATCH] jffs2: memory leak in jffs2_scan_medium()



If jffs2_scan_eraseblock() fails and the exit path is taken, 's' is not
being deallocated.

Reported by Coverity, CID: 1258.

Signed-off-by: default avatarFlorin Malita <fmalita@gmail.com>
Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent 184f5652
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -222,9 +222,6 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)
		}
		}
	}
	}


	if (jffs2_sum_active() && s)
		kfree(s);

	/* Nextblock dirty is always seen as wasted, because we cannot recycle it now */
	/* Nextblock dirty is always seen as wasted, because we cannot recycle it now */
	if (c->nextblock && (c->nextblock->dirty_size)) {
	if (c->nextblock && (c->nextblock->dirty_size)) {
		c->nextblock->wasted_size += c->nextblock->dirty_size;
		c->nextblock->wasted_size += c->nextblock->dirty_size;
@@ -266,6 +263,9 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)
	else
	else
		c->mtd->unpoint(c->mtd, flashbuf, 0, c->mtd->size);
		c->mtd->unpoint(c->mtd, flashbuf, 0, c->mtd->size);
#endif
#endif
	if (s)
		kfree(s);

	return ret;
	return ret;
}
}