From: Theodore Ts'o Date: Fri, 14 Mar 2008 03:55:40 +0000 (-0400) Subject: libext2fs: Fix ext2fs_extent_delete() to always point at a valid entry X-Git-Tag: v1.41-WIP-0427~70 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=83d9be1d5daf170066dd0e74afdd8e7063c1855e;p=tools%2Fe2fsprogs.git libext2fs: Fix ext2fs_extent_delete() to always point at a valid entry When deleting the last entry in a node, back up the current pointer so it is always pointing at a valid entry. Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c index 925355c..9881c77 100644 --- a/lib/ext2fs/extent.c +++ b/lib/ext2fs/extent.c @@ -737,6 +737,10 @@ errcode_t ext2fs_extent_delete(ext2_extent_handle_t handle, int flags) memmove(cp, cp + sizeof(struct ext3_extent_idx), path->left * sizeof(struct ext3_extent_idx)); path->left--; + } else { + struct ext3_extent_idx *ix = path->curr; + ix--; + path->curr = ix; } path->entries--; if (path->entries == 0)