From c921544bba7c49f0e7ea882bbff301a0d82e4f70 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Fri, 18 Mar 2016 16:07:09 +0100 Subject: btrfs-progs: handle stat errors in open_ctree_fs_info Signed-off-by: David Sterba --- disk-io.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'disk-io.c') diff --git a/disk-io.c b/disk-io.c index 6b479777..c46f3662 100644 --- a/disk-io.c +++ b/disk-io.c @@ -1323,11 +1323,16 @@ struct btrfs_fs_info *open_ctree_fs_info(const char *filename, enum btrfs_open_ctree_flags flags) { int fp; + int ret; struct btrfs_fs_info *info; int oflags = O_CREAT | O_RDWR; struct stat st; - stat(filename, &st); + ret = stat(filename, &st); + if (ret < 0) { + error("cannot stat '%s': %s", filename, strerror(errno)); + return NULL; + } if (!(((st.st_mode & S_IFMT) == S_IFREG) || ((st.st_mode & S_IFMT) == S_IFBLK))) { fprintf (stderr, "%s is not a regular file or block device\n", filename); return NULL; -- cgit v1.2.3