[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 17/17] luks2: Fix use of incorrect index and some error messa
From: |
Patrick Steinhardt |
Subject: |
Re: [PATCH 17/17] luks2: Fix use of incorrect index and some error messages. |
Date: |
Thu, 30 Jul 2020 22:22:41 +0200 |
On Wed, Jul 29, 2020 at 04:50:22PM -0500, development@efficientek.com wrote:
> From: Glenn Washburn <development@efficientek.com>
>
> Signed-off-by: Glenn Washburn <development@efficientek.com>
> ---
> grub-core/disk/luks2.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
> index 44a73d2b8..48600db68 100644
> --- a/grub-core/disk/luks2.c
> +++ b/grub-core/disk/luks2.c
> @@ -277,34 +277,34 @@ luks2_get_keyslot (grub_luks2_keyslot_t *k,
> grub_luks2_digest_t *d, grub_luks2_s
> return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not get digests");
> for (j = 0; j < size; j++)
> {
> - if (grub_json_getchild (&digest, &digests, i) ||
> + if (grub_json_getchild (&digest, &digests, j) ||
> grub_json_getchild (&digest, &digest, 0) ||
> luks2_parse_digest (d, &digest))
> - return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest
> %"PRIuGRUB_SIZE, i);
> + return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest
> %"PRIuGRUB_SIZE, j);
>
> if ((d->keyslots & (1 << idx)))
> break;
> }
> if (j == size)
> - return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No digest for keyslot
> %"PRIuGRUB_SIZE);
> + return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No digest for keyslot
> %"PRIuGRUB_SIZE, i);
These look correct to me.
> /* Get segment that matches the digest. */
> if (grub_json_getvalue (&segments, root, "segments") ||
> grub_json_getsize (&size, &segments))
> return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not get segments");
> - for (j = 0; j < size; j++)
> + for (i = j, j = 0; j < size; j++)
Why do we reassign `i = j` here? I think it's to fix the "No segment for
digest" message below which previously referred to the wrong digest,
right? I think we should just stop using `i` and `j` here. If we renamed
them `keyslot_index` and `digest_index`, respectively, and only use `i`
as a loop variable, then the code would be much easier to read.
> {
> - if (grub_json_getchild (&segment, &segments, i) ||
> + if (grub_json_getchild (&segment, &segments, j) ||
> grub_json_getuint64 (&idx, &segment, NULL) ||
> grub_json_getchild (&segment, &segment, 0) ||
> luks2_parse_segment (s, &segment))
> - return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment
> %"PRIuGRUB_SIZE, i);
> + return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment
> %"PRIuGRUB_SIZE, j);
>
> if ((d->segments & (1 << idx)))
> break;
> }
> if (j == size)
> - return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No segment for digest
> %"PRIuGRUB_SIZE);
> + return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No segment for digest
> %"PRIuGRUB_SIZE, i);
>
> return GRUB_ERR_NONE;
> }
> --
> 2.25.1
>
signature.asc
Description: PGP signature
- Re: [PATCH 11/17] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors., (continued)
- [PATCH 09/17] fs: When checking if a block list goes past the end of the disk, make sure the total size of the disk is in grub native sector sizes, otherwise there will be blocks at the end of the disk unaccessible by block lists., development, 2020/07/29
- [PATCH 10/17] cryptodisk: Properly handle non-512 byte sized sectors., development, 2020/07/29
- [PATCH 14/17] cryptodisk: Add header line to procfs entry and crypto and source device names., development, 2020/07/29
- [PATCH 13/17] loopback: Add procfs entry 'loopbacks' to output configured loopback devices., development, 2020/07/29
- [PATCH 16/17] luks2: Ensure that bit fields of grub_luks2_digest_t in luks2_parse_digest are initialized before returning., development, 2020/07/29
- [PATCH 15/17] cryptodisk: Add a couple comments noting the usage of a couple fields in grub_cryptodisk_t as is done for grub_disk_t., development, 2020/07/29
- [PATCH 17/17] luks2: Fix use of incorrect index and some error messages., development, 2020/07/29
- Re: [PATCH 17/17] luks2: Fix use of incorrect index and some error messages.,
Patrick Steinhardt <=