Message ID | 1403141229-25565-2-git-send-email-wangsl.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
diff --git a/cmds-restore.c b/cmds-restore.c index 96b97e1..934755a 100644 --- a/cmds-restore.c +++ b/cmds-restore.c @@ -1180,6 +1180,11 @@ int cmd_restore(int argc, char **argv) break; case 'r': root_objectid = arg_strtou64(optarg); + if (!is_fstree(root_objectid)) { + fprintf(stderr, "objectid %llu is not a valid fs/file tree\n", + root_objectid); + exit(1); + } break; case 'l': list_roots = 1;
Steps to reproduce: # mkfs.btrfs -f /dev/sda9 # mount /dev/sda9 /mnt # dd if=/dev/zero of=/mnt/data bs=1M count=1 # btrfs restore -r /dev/sda9 -r 2 -o /tmp If users don't input a valid fs/file root objectid, btrfs restore still continue and don't restore anything, this is unfriendly, we could check it firstly. Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com> --- cmds-restore.c | 5 +++++ 1 file changed, 5 insertions(+)