[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 05/18] luks2: Make sure all fields of output argument in luks2
From: |
Glenn Washburn |
Subject: |
[PATCH v8 05/18] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to |
Date: |
Tue, 8 Dec 2020 16:45:36 -0600 |
We should assume that the output argument "out" is uninitialized and could
have random data. So, make sure to initialize the segments and keyslots bit
fields because potentially not all bits of those fields are written to.
Otherwise, the digest could say it belongs to keyslots and segments that it
does not.
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Reviewed-by: Patrick Steinhardt <ps@pks.im>
---
grub-core/disk/luks2.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
index 402926680..9b19d35c1 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
@@ -230,6 +230,7 @@ luks2_parse_digest (grub_luks2_digest_t *out, const
grub_json_t *digest)
return grub_error (GRUB_ERR_BAD_ARGUMENT,
"Digest references no segments");
+ out->segments = 0;
for (i = 0; i < size; i++)
{
if (grub_json_getchild (&o, &segments, i) ||
@@ -242,6 +243,7 @@ luks2_parse_digest (grub_luks2_digest_t *out, const
grub_json_t *digest)
return grub_error (GRUB_ERR_BAD_ARGUMENT,
"Digest references no keyslots");
+ out->keyslots = 0;
for (i = 0; i < size; i++)
{
if (grub_json_getchild (&o, &keyslots, i) ||
--
2.27.0
- Re: [PATCH v8 07/18] luks2: Use more intuitive object name instead of json index in user messages, (continued)
- [PATCH v8 04/18] luks2: Remove unused argument in grub_error, Glenn Washburn, 2020/12/08
- [PATCH v8 08/18] luks2: Rename json index variables to names that they are obviously json indexes, Glenn Washburn, 2020/12/08
- [PATCH v8 11/18] cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals, Glenn Washburn, 2020/12/08
- [PATCH v8 12/18] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors, Glenn Washburn, 2020/12/08
- [PATCH v8 05/18] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to,
Glenn Washburn <=
- [PATCH v8 13/18] cryptodisk: Properly handle non-512 byte sized sectors, Glenn Washburn, 2020/12/08
- [PATCH v8 06/18] luks2: Add idx member to struct grub_luks2_keyslot/segment/digest, Glenn Washburn, 2020/12/08
- [PATCH v8 17/18] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers, Glenn Washburn, 2020/12/08
- [PATCH v8 02/18] misc: Add parentheses around ALIGN_UP and ALIGN_DOWN arguments, Glenn Washburn, 2020/12/08
- [PATCH v8 09/18] luks2: Add string "index" to user strings using a json index., Glenn Washburn, 2020/12/08