summaryrefslogtreecommitdiffstats
path: root/libblkid/src/superblocks/superblocks.c
diff options
context:
space:
mode:
Diffstat (limited to 'libblkid/src/superblocks/superblocks.c')
-rw-r--r--libblkid/src/superblocks/superblocks.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
index e465eb154..d985adc05 100644
--- a/libblkid/src/superblocks/superblocks.c
+++ b/libblkid/src/superblocks/superblocks.c
@@ -440,10 +440,12 @@ static int superblocks_safeprobe(blkid_probe pr, struct blkid_chain *chn)
count++;
- if (idinfos[chn->idx]->usage & (BLKID_USAGE_RAID | BLKID_USAGE_CRYPTO))
+ if (chn->idx >= 0 &&
+ idinfos[chn->idx]->usage & (BLKID_USAGE_RAID | BLKID_USAGE_CRYPTO))
break;
- if (!(idinfos[chn->idx]->flags & BLKID_IDINFO_TOLERANT))
+ if (chn->idx >= 0 &&
+ !(idinfos[chn->idx]->flags & BLKID_IDINFO_TOLERANT))
intol++;
if (count == 1) {