Message ID | 1375122996-6665-1-git-send-email-fdmanana@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
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];
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(+)