48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
|
From 214eaa70d8431161de03ea7903f814c102e87919 Mon Sep 17 00:00:00 2001
|
||
|
From: Karel Zak <kzak@redhat.com>
|
||
|
Date: Fri, 9 Oct 2020 13:06:08 +0200
|
||
|
Subject: libblkid: fix Atari prober logic
|
||
|
|
||
|
Addresses: https://github.com/karelzak/util-linux/issues/1159
|
||
|
Addresses: https://github.com/karelzak/util-linux/issues/1116
|
||
|
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2060030
|
||
|
Upstream: http://github.com/util-linux/util-linux/commit/282ceadc3a72fc07dd0388b8880fd751490bb87f
|
||
|
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||
|
---
|
||
|
libblkid/src/partitions/atari.c | 12 +++++++-----
|
||
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/libblkid/src/partitions/atari.c b/libblkid/src/partitions/atari.c
|
||
|
index 1224a577c..b469ef5a1 100644
|
||
|
--- a/libblkid/src/partitions/atari.c
|
||
|
+++ b/libblkid/src/partitions/atari.c
|
||
|
@@ -199,11 +199,10 @@ static int probe_atari_pt(blkid_probe pr,
|
||
|
|
||
|
hdsize = blkid_probe_get_size(pr) / 512;
|
||
|
|
||
|
- /* Look for validly looking primary partition */
|
||
|
- for (i = 0; ; i++) {
|
||
|
- if (i >= ARRAY_SIZE(rs->part))
|
||
|
- goto nothing;
|
||
|
-
|
||
|
+ /*
|
||
|
+ * At least one valid partition required
|
||
|
+ */
|
||
|
+ for (i = 0; i < 4; i++) {
|
||
|
if (IS_PARTDEF_VALID(rs->part[i], hdsize)) {
|
||
|
blkid_probe_set_magic(pr,
|
||
|
offsetof(struct atari_rootsector, part[i]),
|
||
|
@@ -213,6 +212,9 @@ static int probe_atari_pt(blkid_probe pr,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
+ if (i == 4)
|
||
|
+ goto nothing;
|
||
|
+
|
||
|
if (blkid_partitions_need_typeonly(pr))
|
||
|
/* caller does not ask for details about partitions */
|
||
|
return BLKID_PROBE_OK;
|
||
|
--
|
||
|
2.36.1
|
||
|
|