]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
mkfs.cramfs: fix crash when -b 0
authorRuediger Meier <ruediger.meier@ga-group.nl>
Mon, 19 May 2014 13:52:38 +0000 (15:52 +0200)
committerRuediger Meier <ruediger.meier@ga-group.nl>
Mon, 19 May 2014 21:49:29 +0000 (23:49 +0200)
Now -b 0 gives us the default (page size) like we do it in
fsck.cramfs.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
disk-utils/mkfs.cramfs.c

index ebc8112e2c01f99f69c47932faf2ec0d26f2b405..6f412d888189fa4f746e810b7080e528d4a732fe 100644 (file)
@@ -53,7 +53,7 @@
 
 static int verbose = 0;
 
-static unsigned int blksize; /* settable via -b option */
+static unsigned int blksize = 0; /* settable via -b option, default page size */
 static long total_blocks = 0, total_nodes = 1; /* pre-count the root node */
 static int image_length = 0;
 static int cramfs_is_big_endian = 0; /* target is big endian */
@@ -715,7 +715,6 @@ int main(int argc, char **argv)
        int c;
        cramfs_is_big_endian = HOST_IS_BIG_ENDIAN; /* default is to use host order */
 
-       blksize = getpagesize();
        total_blocks = 0;
 
        setlocale(LC_ALL, "");
@@ -784,6 +783,9 @@ int main(int argc, char **argv)
        dirname = argv[optind];
        outfile = argv[optind + 1];
 
+       if (blksize == 0)
+               blksize = getpagesize();
+
        if (stat(dirname, &st) < 0)
                err(MKFS_EX_USAGE, _("stat failed %s"), dirname);
        fd = open(outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);