]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libblkid/minix: Match minix superblock types
authorNate Clark <nate@neworld.us>
Wed, 4 Jan 2017 20:24:22 +0000 (15:24 -0500)
committerNate Clark <nate@neworld.us>
Wed, 4 Jan 2017 20:24:22 +0000 (15:24 -0500)
All of the types in the minix super block are unsigned but in
probe_minix they were being treated as signed. This would cause some of
the extra sanity checks to pass on a non minix device. The types were
updated to match the return types of the helper functions in
disk-utils/minix_programs.h

This can be checked by creating a swap partition with one of these UUIDs
35f1f264-2468-471a-bc85-acc9f4bc04a3
35f1f264-6824-471a-bc85-acc9f4bc04a3
35f1f264-2478-471a-bc85-acc9f4bc04a3
35f1f264-7824-471a-bc85-acc9f4bc04a3

Prior to this change they would all be considered minix and swap by
blkid.

Signed-off-by: Nate Clark <nate@neworld.us>
libblkid/src/superblocks/minix.c

index d350f8978e490fe3fa265c700a4207036b5ad9dd..628b246ee89b487e1dd4dbf51af4dc63b672c595 100644 (file)
@@ -89,7 +89,8 @@ static int probe_minix(blkid_probe pr,
 
        if (version <= 2) {
                struct minix_super_block *sb = (struct minix_super_block *) data;
-               int zones, ninodes, imaps, zmaps, firstz;
+               unsigned long zones, ninodes, imaps, zmaps;
+               off_t firstz;
 
                if (sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0 ||
                    sb->s_log_zone_size != 0)