diff mbox

Btrfs-progs: fix segfault in fsck if the chunk tree is bogus

Message ID 1364480866-17240-1-git-send-email-jbacik@fusionio.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Josef Bacik March 28, 2013, 2:27 p.m. UTC
I made open_ctree fail if the chunk tree couldn't be open, which means that fsck
now segfaults if it can't open the chunk tree.  So fix fsck to check the fs_info
we get back from open_ctree_fsinfo to make sure it's valid and exit if it's not
instead of segfaulting.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
---
 cmds-check.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/cmds-check.c b/cmds-check.c
index 35e9177..eef959e 100644
--- a/cmds-check.c
+++ b/cmds-check.c
@@ -3642,6 +3642,11 @@  int cmd_check(int argc, char **argv)
 	}
 
 	info = open_ctree_fs_info(argv[optind], bytenr, rw, 1);
+	if (!info) {
+		fprintf(stderr, "Couldn't open file system\n");
+		return -EIO;
+	}
+
 	uuid_unparse(info->super_copy.fsid, uuidbuf);
 	printf("Checking filesystem on %s\nUUID: %s\n", argv[optind], uuidbuf);