diff options
author | Milan Broz <gmazyland@gmail.com> | 2024-01-17 12:13:09 +0100 |
---|---|---|
committer | Milan Broz <gmazyland@gmail.com> | 2024-01-18 10:22:39 +0100 |
commit | d23816be950730cfaf9b1f07949de42f00bcf7ef (patch) | |
tree | 4458f366b19b805717c484c7dafb66224db3dee8 | |
parent | f2c88df719a9c5ccb53ad8e420afd09731b85d24 (diff) | |
download | cryptsetup-wip-luks2.tar.gz |
LUKS2: add more sanity assignments to header code.wip-luks2
Ensure we do not return partial binary header and also
explicitly set header size to zero to silnce stupid
cppcheck warnings.
-rw-r--r-- | lib/luks2/luks2_disk_metadata.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/luks2/luks2_disk_metadata.c b/lib/luks2/luks2_disk_metadata.c index 14402ac2..cd4646c5 100644 --- a/lib/luks2/luks2_disk_metadata.c +++ b/lib/luks2/luks2_disk_metadata.c @@ -256,6 +256,7 @@ static int hdr_read_disk(struct crypt_device *cd, if (read_lseek_blockwise(devfd, device_block_size(cd, device), device_alignment(device), hdr_disk, LUKS2_HDR_BIN_LEN, offset) != LUKS2_HDR_BIN_LEN) { + memset(hdr_disk, 0, LUKS2_HDR_BIN_LEN); return -EIO; } @@ -664,6 +665,7 @@ int LUKS2_disk_hdr_read(struct crypt_device *cd, struct luks2_hdr *hdr, /* * No header size, check all known offsets. */ + hdr_disk2.hdr_size = 0; for (r = -EINVAL,i = 0; r < 0 && i < ARRAY_SIZE(hdr2_offsets); i++) r = hdr_read_disk(cd, device, &hdr_disk2, &json_area2, hdr2_offsets[i], 1); |