From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1k9nmb-0001gK-7H for mharc-grub-devel@gnu.org; Sun, 23 Aug 2020 07:03:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42590) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9nma-0001g8-4M for grub-devel@gnu.org; Sun, 23 Aug 2020 07:03:28 -0400 Received: from new2-smtp.messagingengine.com ([66.111.4.224]:55463) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9nmP-0000CW-O6 for grub-devel@gnu.org; Sun, 23 Aug 2020 07:03:27 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.nyi.internal (Postfix) with ESMTP id 471145800D3; Sun, 23 Aug 2020 07:03:17 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Sun, 23 Aug 2020 07:03:17 -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=fm1; bh=+TSp4rbbsfLsf+LEjsXLtpRNC/k D3dJqYKkAMyDff48=; b=MIGPHWdZqYvVf+JCSKBpellqcR0Xg0bZduTgRZQZ3Hd Z/FNIaCnVVq0q1rBc5uDNHK6/UCYqYWVEqocGdl81H99ehwvWSExHdH1SAJokjDt ZeGg8xlUuO5/hfnudpCudtkHHUQuJGdIUrKt09iymj0+6ebmVqCNLt8/73AKCLvK tCoksL//8BrWxHmtUGXrwBm69EqjiLVg6OhD0J9Zx1cIOfmKrzPrC7bkKM0neMOm FmzHr/NVNN9TDrX56t//GLi7P0L9NrB9RTB9ON+Q2P9JY//oJ4IQQsdOmBXE+P5m ht2CRlcOOiHu3dqw/m9kU30WEZUz/kDXUhnO2GzKV/g== 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=fm3; bh=+TSp4r bbsfLsf+LEjsXLtpRNC/kD3dJqYKkAMyDff48=; b=m5+KwUsM/096vyENagAMav 5w90te/DWBljimiTuWP0QIZgRF2sk7V2E0GDPL/ge/lumAZM/e71kHEoGKZ1W/cW IV2nxRQQ6SRyxIAx2QOFmn48XjQvvxtv0qquZHWmvMEmzpy/h42JqWTP1frj+lcA Bfy1+SI1ww3Cqb+trVGALjrcgoXqE76MP7aXuec8a+eIzvN51L3QbKOM6l3UuhNE r1zWm2gq4S12ZMMoL0d1PpOTjyELfvRzqv9moPqayUasTuB/5Gx5v7APf4/5/S0G kB4NPJLH9xCMvjUrRsS9NkORFPJLnzT/xr38HFVcFF0PBSmdxZJ27eK2SYrX+Hjw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrudduiedgfeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpefrrghtrhhi tghkucfuthgvihhnhhgrrhguthcuoehpshesphhkshdrihhmqeenucggtffrrghtthgvrh hnpeehgefhtdefueffheekgfffudelffejtdfhvdejkedthfehvdelgfetgfdvtedthfen ucfkphepjeejrddukeefrdehkedrudelheenucevlhhushhtvghrufhiiigvpedvnecurf grrhgrmhepmhgrihhlfhhrohhmpehpshesphhkshdrihhm X-ME-Proxy: Received: from vm-mail.pks.im (x4db73ac3.dyn.telefonica.de [77.183.58.195]) by mail.messagingengine.com (Postfix) with ESMTPA id 2AD4430600A6; Sun, 23 Aug 2020 07:03:06 -0400 (EDT) Received: from localhost (ncase [10.192.0.11]) by vm-mail.pks.im (OpenSMTPD) with ESMTPSA id 03f14dc0 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 23 Aug 2020 11:03:04 +0000 (UTC) Date: Sun, 23 Aug 2020 13:03:07 +0200 From: Patrick Steinhardt To: The development of GNU GRUB Cc: Denis 'GNUtoo' Carikli , Glenn Washburn , Daniel Kiper Subject: [PATCH 3/9] luks2: Fix use of incorrect index and some error messages Message-ID: <7cf9d9526dbbc1df2ef2fc10062642d3689a1a54.1598179677.git.ps@pks.im> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="vKFfOv5t3oGVpiF+" Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=66.111.4.224; envelope-from=ps@pks.im; helo=new2-smtp.messagingengine.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/23 06:59:58 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable 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: Sun, 23 Aug 2020 11:03:28 -0000 --vKFfOv5t3oGVpiF+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable =46rom: Glenn Washburn Signed-off-by: Glenn Washburn Reviewed-by: Patrick Steinhardt --- 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 e3ff7c83d..200f81d3a 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_luks= 2_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 %"PRIuG= RUB_SIZE, i); + return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest %"PRIuG= RUB_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 %"PRIu= GRUB_SIZE, i); + return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment %"PRIu= GRUB_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 %"P= RIuGRUB_SIZE); + return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No segment for digest %"P= RIuGRUB_SIZE, i); =20 return GRUB_ERR_NONE; } --=20 2.28.0 --vKFfOv5t3oGVpiF+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAl9CTOoACgkQVbJhu7ck PpTqiw//VRKVb4U41htFIJWDQ6o6cYpXo0leE9TPm31/cGEFHL1DsVoh5Zfsi+iX QJBMgOcpNLN1mIQIAQ/57W8vrF2JU8Ws41mAhyadauApgsk/Zi2QD2uw/81qxnnL ZsHts2vhrJZeaDnQFbKbNIsDbRD0D/tr/K96n7G9Z0ECNCZqNvwOUJi4yacvUBM5 ZhS6xuBv2cxn4hWJBKr7rXCYBb6jkcZegfavDsZUqTN6UTwwlK6VNLxZZSpJWgn+ MRFwejm7yie29awcHnJI7uqZXFltKq/ocWrXABqTTuMTYeuA5oYh0E+PzJaoMSaA ivTvMwRrm4Dlrz4lpmOVrHamjxjnmgd+htinqnHE2V6GZUdc+78/6lI1BWQtVn+E usosRowJVDR98A7TTpC87fySmEBid9pMAens94ZnfL2dIGu0OY9RItWGrv5gZJot OgAIRoY7V3+g/RrT82Sjlk/yQaZvc0kNOi4jTVqdqhHPSg0GRLh8khj5DskbHkg3 L62PMzvMUMdlobFv2zcy4A1zIbu+Z2PPSqw1tdSJeL8WvyUahBkAaKJE+BrWp5zm pq51sA/VCDz/eovI/Fq3ZO0bnuZ1I7fAE8AHtcI0ePxHg8e1G6wZYkPWDsQovvg2 YhpbA33D+2XgJSX/LPKA+SCexbY3kG8L2C1EIzbNNP/UVM9Fozo= =P9ZE -----END PGP SIGNATURE----- --vKFfOv5t3oGVpiF+--