Correct level handling in zstream recompress.

sscanf returns number of items parsed on success and EOF on failure.

Reviewed-by: Adam Moss <c@yotes.com>
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Rob Norris <robn@despairlabs.com>
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Closes #16198
This commit is contained in:
Rich Ercolani 2024-05-16 18:37:50 -04:00 committed by GitHub
parent e675852bc1
commit a043b60f1e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 1 additions and 1 deletions

View File

@ -77,7 +77,7 @@ zstream_do_recompress(int argc, char *argv[])
while ((c = getopt(argc, argv, "l:")) != -1) { while ((c = getopt(argc, argv, "l:")) != -1) {
switch (c) { switch (c) {
case 'l': case 'l':
if (sscanf(optarg, "%d", &level) != 0) { if (sscanf(optarg, "%d", &level) != 1) {
fprintf(stderr, fprintf(stderr,
"failed to parse level '%s'\n", "failed to parse level '%s'\n",
optarg); optarg);