From 3a3f3f153372ae5daafad5fb68d84847e9f17e9c Mon Sep 17 00:00:00 2001 From: Li Dongyang Date: Fri, 5 Aug 2022 15:52:21 -0600 Subject: [PATCH] debugfs: allow for ncheck If the ncheck argument is of the form "", allow it for ncheck for consistency with other commands that accept an inode number. Improve the error message, use "Invalid inode number" instead of "Bad inode", which implies the inode content being bad. Signed-off-by: Li Dongyang Reviewed-by: Andreas Dilger Signed-off-by: Theodore Ts'o --- debugfs/ncheck.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index 011f26d..963b3a1 100644 --- a/debugfs/ncheck.c +++ b/debugfs/ncheck.c @@ -134,9 +134,15 @@ void do_ncheck(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), iw.names_left = 0; for (i=0; i < argc; i++) { - iw.iarray[i] = strtol(argv[i], &tmp, 0); - if (*tmp) { - com_err("ncheck", 0, "Bad inode - %s", argv[i]); + char *str = argv[i]; + int len = strlen(str); + + if ((len > 2) && (str[0] == '<') && (str[len - 1] == '>')) + str++; + iw.iarray[i] = strtol(str, &tmp, 0); + if (*tmp && (str == argv[i] || *tmp != '>')) { + com_err("ncheck", 0, "Invalid inode number - '%s'", + argv[i]); goto error_out; } if (debugfs_read_inode(iw.iarray[i], &inode, *argv)) -- 1.8.3.1