diff mbox

Btrfs-progs: return immediately on tree search failure

Message ID 1375122996-6665-1-git-send-email-fdmanana@gmail.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Filipe Manana July 29, 2013, 6:36 p.m. UTC
If the chunk tree search failed in volumes.c:btrfs_read_chunk_tree()
return immediately, rather than looping and use the invalid contents
of the path structure, causing weird errors/crash at run time.

Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
---
 volumes.c |    2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/volumes.c b/volumes.c
index 0ff2283..79008de 100644
--- a/volumes.c
+++ b/volumes.c
@@ -1727,6 +1727,8 @@  int btrfs_read_chunk_tree(struct btrfs_root *root)
 	key.type = 0;
 again:
 	ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
+	if (ret < 0)
+		goto error;
 	while(1) {
 		leaf = path->nodes[0];
 		slot = path->slots[0];