Enhance user input checking and error messaging, while fixing
cppcheck warning.
[disk-utils/mkfs.cramfs.c:729]: (style) Checking if unsigned variable 'blksize' is less than zero.
[kzak@redhat.com: fix coding style]
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
case 'h':
usage(MKFS_OK);
case 'b':
- blksize = strtoll_or_err(optarg, _("failed to parse blocksize argument"));
- if (blksize <= 0)
- usage(MKFS_USAGE);
+ {
+ long long tmp = strtoll_or_err(optarg,
+ _("failed to parse blocksize argument"));
+
+ if (tmp <= 0 || UINT_MAX < tmp)
+ errx(MKFS_USAGE, _("invalid block size"));
+ blksize = tmp;
break;
+ }
case 'E':
opt_errors = 1;
break;