diff --git a/lib/ext2fs/block.c b/lib/ext2fs/block.c index 490116d5..c8d6b17d 100644 --- a/lib/ext2fs/block.c +++ b/lib/ext2fs/block.c @@ -379,6 +379,7 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, ctx.errcode = 0; if (!(flags & BLOCK_FLAG_APPEND)) break; + next_block_set: blk = 0; r = (*ctx.func)(fs, &blk, blockcnt, 0, 0, priv_data); @@ -392,7 +393,8 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, (blk64_t) blk, 0); if (ctx.errcode || (ret & BLOCK_ABORT)) break; - continue; + if (blk) + goto next_block_set; } break; }