Secondary header offset must match header size.

This commit is contained in:
Ondrej Kozina
2018-11-21 16:57:43 +01:00
committed by Milan Broz
parent 21e259d1a4
commit 32d357e1a8

View File

@@ -205,6 +205,12 @@ static int hdr_disk_sanity_check_pre(struct luks2_hdr_disk *hdr,
return -EINVAL; return -EINVAL;
} }
if (secondary && (offset != be64_to_cpu(hdr->hdr_size))) {
log_dbg("LUKS2 offset 0x%04x in secondary header doesn't match size 0x%04x.",
(unsigned)offset, (unsigned)be64_to_cpu(hdr->hdr_size));
return -EINVAL;
}
/* FIXME: sanity check checksum alg. */ /* FIXME: sanity check checksum alg. */
log_dbg("LUKS2 header version %u of size %u bytes, checksum %s.", log_dbg("LUKS2 header version %u of size %u bytes, checksum %s.",