From 001f228059ccccbe3c7ca9a3a54c1a9c7d6e6450 Mon Sep 17 00:00:00 2001 From: Milan Broz Date: Wed, 17 Jan 2024 12:13:09 +0100 Subject: [PATCH] LUKS2: add more sanity assignments to header code. Ensure we do not return partial binary header and also explicitly set header size to zero to silnce stupid cppcheck warnings. --- lib/luks2/luks2_disk_metadata.c | 2 ++ 1 file changed, 2 insertions(+) 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);