Blob Blame History Raw
From b4d5cf4819023ce07ecd39729cdd4cde8b59ca35 Mon Sep 17 00:00:00 2001
From: Nate Clark <nate@neworld.us>
Date: Wed, 4 Jan 2017 15:24:22 -0500
Subject: [PATCH 174/176] libblkid/minix: Match minix superblock types

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.

Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1594681
Upstream: http://github.com/karelzak/util-linux/commit/a9975c1072c4975ec2df958188a80d89cabc6171
Signed-off-by: Nate Clark <nate@neworld.us>
---
 libblkid/src/superblocks/minix.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libblkid/src/superblocks/minix.c b/libblkid/src/superblocks/minix.c
index 3e80e5b22..a20d51f2c 100644
--- a/libblkid/src/superblocks/minix.c
+++ b/libblkid/src/superblocks/minix.c
@@ -87,7 +87,8 @@ static int probe_minix(blkid_probe pr, const struct blkid_idmag *mag)
 
 	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)
 			return 1;
-- 
2.14.4