From: Karel Zak Date: Fri, 9 Oct 2020 11:06:08 +0000 (+0200) Subject: libblkid: fix Atari prober logic X-Git-Tag: v2.37-rc1~433 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2cc76d50d7a14bef8e7b07fab11b26c9e49d36a2;p=thirdparty%2Futil-linux.git libblkid: fix Atari prober logic Addresses: https://github.com/karelzak/util-linux/issues/1159 Addresses: https://github.com/karelzak/util-linux/issues/1116 Signed-off-by: Karel Zak --- diff --git a/libblkid/src/partitions/atari.c b/libblkid/src/partitions/atari.c index f8b6fb5b53..f9404f9e17 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)) { if (blkid_probe_set_magic(pr, offsetof(struct atari_rootsector, part[i]), @@ -214,6 +213,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;