From: Theodore Ts'o Date: Wed, 27 Aug 2008 21:50:14 +0000 (-0400) Subject: ext2fs_block_iterate2: Fix memory leak on error paths X-Git-Tag: v1.41.1~24 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=64987c052c235d60373995d36b5c01291c464b74;p=thirdparty%2Fe2fsprogs.git ext2fs_block_iterate2: Fix memory leak on error paths Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/ext2fs/block.c b/lib/ext2fs/block.c index 85201e3c2..71fec23a8 100644 --- a/lib/ext2fs/block.c +++ b/lib/ext2fs/block.c @@ -390,12 +390,10 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, (blk64_t) blockcnt++, (blk64_t) blk, 0); if (ctx.errcode || (ret & BLOCK_ABORT)) - goto errout; + break; continue; - } else { - ext2fs_extent_free(handle); - goto errout; } + break; } op = EXT2_EXTENT_NEXT; @@ -416,7 +414,7 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, ctx.errcode = ext2fs_extent_replace(handle, 0, &extent); if (ctx.errcode) - goto errout; + break; } } continue; @@ -436,12 +434,10 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, (blk64_t) blockcnt, (blk64_t) new_blk, 0); if (ctx.errcode) - goto errout; - } - if (ret & BLOCK_ABORT) { - ext2fs_extent_free(handle); - goto errout; + break; } + if (ret & BLOCK_ABORT) + break; } }