From 939bc6323b701e860a4f45148d664c336c9c0afa Mon Sep 17 00:00:00 2001 From: David Sterba Date: Wed, 7 Sep 2016 14:36:14 +0200 Subject: [PATCH] btrfs-progs: inspect: improved error handling Two remaining BUG_ON, be more specific what's wrong. Signed-off-by: David Sterba --- cmds-inspect.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmds-inspect.c b/cmds-inspect.c index 4b7cea07..d493544a 100644 --- a/cmds-inspect.c +++ b/cmds-inspect.c @@ -207,7 +207,10 @@ static int cmd_inspect_logical_resolve(int argc, char **argv) ret = snprintf(full_path, bytes_left, "%s/", argv[optind+1]); path_ptr = full_path + ret; bytes_left -= ret + 1; - BUG_ON(bytes_left < 0); + if (bytes_left < 0) { + error("path buffer too small: %d bytes", bytes_left); + goto out; + } for (i = 0; i < inodes->elem_cnt; i += 3) { u64 inum = inodes->val[i]; @@ -230,8 +233,12 @@ static int cmd_inspect_logical_resolve(int argc, char **argv) path_ptr[-1] = '/'; ret = snprintf(path_ptr, bytes_left, "%s", name); - BUG_ON(ret >= bytes_left); free(name); + if (ret >= bytes_left) { + error("path buffer too small: %d bytes", + bytes_left - ret); + goto out; + } path_fd = btrfs_open_dir(full_path, &dirs, 1); if (path_fd < 0) { ret = -ENOENT;