]> err.no Git - util-linux/commitdiff
mkfs.minix: fix strict-aliasing bugs
authorKarel Zak <kzak@redhat.com>
Fri, 16 Oct 2009 20:13:14 +0000 (22:13 +0200)
committerKarel Zak <kzak@redhat.com>
Fri, 16 Oct 2009 22:19:23 +0000 (00:19 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
disk-utils/mkfs.minix.c

index 391f09b843ec99f6f143135a3adacada2729e946..c52afbd77df0d0b19221ab92d90375241a4c0423 100644 (file)
@@ -111,7 +111,7 @@ static char * inode_buffer = NULL;
 #define Inode (((struct minix_inode *) inode_buffer)-1)
 #define Inode2 (((struct minix2_inode *) inode_buffer)-1)
 
-static char super_block_buffer[BLOCK_SIZE];
+static char *super_block_buffer;
 static char boot_block_buffer[512];
 #define Super (*(struct minix_super_block *)super_block_buffer)
 #define INODES ((unsigned long)Super.s_ninodes)
@@ -394,7 +394,10 @@ setup_tables(void) {
        int i;
        unsigned long inodes;
 
-       memset(super_block_buffer,0,BLOCK_SIZE);
+       super_block_buffer = calloc(1, BLOCK_SIZE);
+       if (!super_block_buffer)
+               die(_("unable to alloc buffer for superblock"));
+
        memset(boot_block_buffer,0,512);
        Super.s_magic = magic;
        Super.s_log_zone_size = 0;