[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 04/17] luks2: Make sure all fields of output argument in l
From: |
Patrick Steinhardt |
Subject: |
Re: [PATCH v7 04/17] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to |
Date: |
Sun, 6 Dec 2020 14:26:22 +0100 |
On Fri, Dec 04, 2020 at 10:43:33AM -0600, Glenn Washburn wrote:
> 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>
Makes sense.
Signed-off-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 bdb90e4b6..eadd529e9 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
>
signature.asc
Description: PGP signature
- [PATCH v7 12/17] luks2: Better error handling when setting up the cryptodisk, (continued)
- [PATCH v7 11/17] cryptodisk: Properly handle non-512 byte sized sectors, Glenn Washburn, 2020/12/04
- [PATCH v7 15/17] mips: Enable __clzdi2(), Glenn Washburn, 2020/12/04
- [PATCH v7 04/17] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to, Glenn Washburn, 2020/12/04
- [PATCH v7 09/17] cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals, Glenn Washburn, 2020/12/04
- [PATCH v7 07/17] luks2: Add string "index" to user strings using a json index., Glenn Washburn, 2020/12/04
- [PATCH v7 10/17] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors, Glenn Washburn, 2020/12/04