summaryrefslogtreecommitdiffstats
path: root/libblkid/src/superblocks/hfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'libblkid/src/superblocks/hfs.c')
-rw-r--r--libblkid/src/superblocks/hfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libblkid/src/superblocks/hfs.c b/libblkid/src/superblocks/hfs.c
index ef746d4e2..c2344114a 100644
--- a/libblkid/src/superblocks/hfs.c
+++ b/libblkid/src/superblocks/hfs.c
@@ -244,6 +244,7 @@ static int probe_hfsplus(blkid_probe pr, const struct blkid_idmag *mag)
leaf_node_head = be32_to_cpu(bnode->leaf_head);
leaf_node_size = be16_to_cpu(bnode->node_size);
leaf_node_count = be32_to_cpu(bnode->leaf_count);
+
if (leaf_node_size < sizeof(struct hfsplus_bnode_descriptor) +
sizeof(struct hfsplus_catalog_key) || leaf_node_count == 0)
return 0;
@@ -286,7 +287,7 @@ static int probe_hfsplus(blkid_probe pr, const struct blkid_idmag *mag)
&buf[sizeof(struct hfsplus_bnode_descriptor)];
if (be32_to_cpu(key->parent_id) != HFSPLUS_POR_CNID ||
- be16_to_cpu(key->unicode_len > 255))
+ be16_to_cpu(key->unicode_len) > 255)
return 0;
blkid_probe_set_utf8label(pr, key->unicode,