From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1kQorR-00011Z-88 for mharc-grub-devel@gnu.org; Fri, 09 Oct 2020 05:38:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34418) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kQorP-00011S-CD for grub-devel@gnu.org; Fri, 09 Oct 2020 05:38:47 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:38291) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kQorN-00053R-GF for grub-devel@gnu.org; Fri, 09 Oct 2020 05:38:47 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 535B35C00ED; Fri, 9 Oct 2020 05:38:43 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Fri, 09 Oct 2020 05:38:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pks.im; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=AQcMA7hAD5+5rRYQoSqaxo2O0+5 kXl6Gydw1dZfZazw=; b=K4asHv+fqXwJWuahHN3HEXF0QXiVY6RtYUuhuO0aUPi cOdCKGLmSQaz18AWCekw5M3rR3xWMh13LP505Sn3XTGRDLBU/Xsh9vPHwjs75daX HJKepk3G1M7MFixmj/ju89qXFdUVE0lUhWrImdjeJ7UkpAy7KKPENRY5bDoijGkN 3opAMavpjIzW/oUXCSK0xD1rRoTfDGKDXEofMvbWax60Omy9zj1j4lEMSsWmAO13 8eSsuM4Nau/KYgWiFHGLrWGQ25M1wFS1H7MVZ8ld/zH28+EwhA5yAbfLKMg0XJir zBtU2Ajt0p89INPbCOWw7izz5v6FGfOMMSx6lLealAw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=AQcMA7 hAD5+5rRYQoSqaxo2O0+5kXl6Gydw1dZfZazw=; b=pP38g/c6Xi4zQi80/5tTb9 zAcqEuN5OrNS5OkTxfSYwgbP58/7A4l/N6kkEweYyCy2Y4LCYqbjsUsHl9cNNgz5 5VARlZ8oZsPH+5Curv3Ruk/NGW/ZWv8EjmiqXbXio4qlOmy8tRRyvPsbrm1uro/z oMZ0WnarHI8AmvIh9Lvn0TK3t4dlXxkWAmq+Io0Pge+4QJg7YI46l31ObiI2w294 5+4QNFGHrOo2q9pemeS1WqBgdf+LxkmtilSw8o+1RvWOjmcoiVTakaVQ8qtUI3jr kKTnMLI8NqFZiIJbLQ4r0ghHN4TSY+7OKGtva0hDmF7KsJJz2QBbeUxxKltZDI4Q == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrhedugddulecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvuffkfhggtggujgesghdtreertddtvdenucfhrhhomheprfgrthhrihgt khcuufhtvghinhhhrghrughtuceophhssehpkhhsrdhimheqnecuggftrfgrthhtvghrnh epheeghfdtfeeuffehkefgffduleffjedthfdvjeektdfhhedvlefgtefgvdettdfhnecu kfhppeejkedrheegrdefvddrudefgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpehpshesphhkshdrihhm X-ME-Proxy: Received: from vm-mail.pks.im (dynamic-078-054-032-134.78.54.pool.telefonica.de [78.54.32.134]) by mail.messagingengine.com (Postfix) with ESMTPA id 3AC1B3064610; Fri, 9 Oct 2020 05:38:42 -0400 (EDT) Received: from localhost (tanuki [10.192.0.23]) by vm-mail.pks.im (OpenSMTPD) with ESMTPSA id 20f451e9 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 9 Oct 2020 09:38:38 +0000 (UTC) Date: Fri, 9 Oct 2020 11:38:42 +0200 From: Patrick Steinhardt To: Glenn Washburn Cc: grub-devel@gnu.org, Daniel Kiper Subject: Re: [PATCH v2 01/10] luks2: Fix use of incorrect index and some grub_error() messages. Message-ID: <20201009093842.GA2088@tanuki> References: <80dd653c989818e86f219cbfc83be9115c06ccd2.1601765266.git.development@efficientek.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="mYCpIKhGyMATD0i+" Content-Disposition: inline In-Reply-To: <80dd653c989818e86f219cbfc83be9115c06ccd2.1601765266.git.development@efficientek.com> Received-SPF: pass client-ip=66.111.4.26; envelope-from=ps@pks.im; helo=out2-smtp.messagingengine.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/09 05:22:33 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Oct 2020 09:38:47 -0000 --mYCpIKhGyMATD0i+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Oct 03, 2020 at 05:55:25PM -0500, Glenn Washburn wrote: > When looping over the digests and segments, the loop variable is j, but t= he > variable i is used to index in the the digests and segments json array. T= he > variable i is the keyslot index. Similarly, there are several grub_error() > statements using the wrong index in constructing the error string. >=20 > Signed-off-by: Glenn Washburn Reviewed-by: Patrick Steinhardt > --- > grub-core/disk/luks2.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) >=20 > diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c > index 31d7166fc..2241e0312 100644 > --- a/grub-core/disk/luks2.c > +++ b/grub-core/disk/luks2.c > @@ -275,34 +275,34 @@ luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_lu= ks2_digest_t *d, grub_luks2_s > return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not get digests"); > for (j =3D 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 %"PRI= uGRUB_SIZE, i); > + return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest %"PRI= uGRUB_SIZE, j); > =20 > if ((d->keyslots & (1 << idx))) > break; > } > if (j =3D=3D 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); > =20 > /* 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 =3D 0; j < size; j++) > + for (i =3D j, j =3D 0; j < size; j++) > { > - 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 %"PR= IuGRUB_SIZE, i); > + return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment %"PR= IuGRUB_SIZE, j); > =20 > if ((d->segments & (1 << idx))) > break; > } > if (j =3D=3D 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); > =20 > return GRUB_ERR_NONE; > } > --=20 > 2.27.0 >=20 --mYCpIKhGyMATD0i+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAl+AL6EACgkQVbJhu7ck PpTZLw/8ClWcY8GPE4BdUm1JTt1xcXCTaRfI0a84N/wRaV6GmCMx91HiEP2jL/0c PN0aztHcaF6HXj348EvbYde5OOcA8ZPu8ZVlJCAbsYNyYy6QTK4kSy46xR5cMXpm LnctKmfHdloltbiG7LR5PCtsy3enftZpsqzgknPRu85TlFmOKahQ8nbZPDU4oqYO 7aK15VzB6sITPJyZ7Frn58vf3XwGM+1Z46Phpz6noJaG+i/ApiIhzy1nN9dkhUTU u3Y/aj3pQZMUyGPlvghmau7q/K+MSHZJeR3Ujj3Nv3lWYjoWmYowuaqoX7vUK/CB 3K8Iv2XejOJ0PX27LF4KvV+XJgF0WzRwaYZBJwuY7X7AVT03luPqyMcb7dE7UYgh lL05DvK+Sdh+uZlstjBUnRcR6I1GZfLi6R8Aq9OE/DpNJZTrEiZAh8RI1t8L6dkT ejc5bhttDwRiQW0Xx5fty3jxRb98uY0BR/t0hGdiRajOqfsBwrlCkR8hE47uB0uU RPBYtIwghe/aANOxCOn3h2pCYUa+v5lc216nErNUjxo3cw7bpN8kw5w82iAmvP6i jzWY0uFixA1oGSF/vsDkIfvY3zjX9+Y6RON9jTWpgCrl0gBOC0Au+Vratsl4oOhh RO0fJFAQz7lktRF2yDWLDXfz/CQrymGuMqjAjBoe+x0pf3SJa2I= =cxi4 -----END PGP SIGNATURE----- --mYCpIKhGyMATD0i+--