summaryrefslogtreecommitdiffstats
path: root/disk-utils/mkfs.cramfs.c
diff options
context:
space:
mode:
authorSami Kerola2012-02-07 21:10:33 +0100
committerKarel Zak2012-02-08 12:46:11 +0100
commit2e24868683ad405ed73aac7654730bbf1038087d (patch)
treecac516e1694acce46c81e54aad84bc815d8817eb /disk-utils/mkfs.cramfs.c
parentmkfs.cramfs: close open file after usage [cppcheck] (diff)
downloadkernel-qcow2-util-linux-2e24868683ad405ed73aac7654730bbf1038087d.tar.gz
kernel-qcow2-util-linux-2e24868683ad405ed73aac7654730bbf1038087d.tar.xz
kernel-qcow2-util-linux-2e24868683ad405ed73aac7654730bbf1038087d.zip
mkfs.cramfs: check blocksize user input [cppcheck]
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>
Diffstat (limited to 'disk-utils/mkfs.cramfs.c')
-rw-r--r--disk-utils/mkfs.cramfs.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/disk-utils/mkfs.cramfs.c b/disk-utils/mkfs.cramfs.c
index 2fe95bf82..37895a380 100644
--- a/disk-utils/mkfs.cramfs.c
+++ b/disk-utils/mkfs.cramfs.c
@@ -725,10 +725,15 @@ int main(int argc, char **argv)
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;