lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 5 Aug 2022 15:52:21 -0600 From: Andreas Dilger <adilger@...ger.ca> To: tytso@....edu Cc: linux-ext4@...r.kernel.org, Li Dongyang <dongyangli@....com>, Andreas Dilger <adilger@...ger.ca> Subject: [PATCH v2] debugfs: allow <inode> for ncheck From: Li Dongyang <dongyangli@....com> If the ncheck argument is of the form "<ino>", 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 <dongyangli@....com> Reviewed-by: Andreas Dilger <adilger@...ger.ca> --- debugfs/ncheck.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) v2: don't modify argv[] during parsing diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index 011f26de..963b3a12 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)) -- 2.25.1
Powered by blists - more mailing lists