Wang Shilong
2013-Mar-31 10:36 UTC
[PATCH V2] Btrfs: fix double free in the iterate_extent_inodes()
From: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
If btrfs_find_all_roots() fails, ''roots'' has been freed or
''roots''
fails to allocate. We don''t need to free it outside
btrfs_find_all_roots()
again.Fix it.
Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
---
Changelog:
V1->v2: remove reduplicate code that set ''roots'' to be
NULL
---
fs/btrfs/backref.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
index 5ff46ee..cbb7108 100644
--- a/fs/btrfs/backref.c
+++ b/fs/btrfs/backref.c
@@ -1510,11 +1510,9 @@ int iterate_extent_inodes(struct btrfs_fs_info *fs_info,
iterate, ctx);
}
ulist_free(roots);
- roots = NULL;
}
free_leaf_list(refs);
- ulist_free(roots);
out:
if (!search_commit_root) {
btrfs_put_tree_mod_seq(fs_info, &tree_mod_seq_elem);
--
1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html