From 34ec50c124940b252ec08b1098fdef736381da97 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Sun, 12 Jul 2026 22:48:13 +0200 Subject: [PATCH] =?UTF-8?q?VERIFY=20P2=3D82=20now=20uses=20PW1=E2=80=99s?= =?UTF-8?q?=20shared=20retry=20counter=20and=20never=20probes=20EF=5FRC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pol Henarejos --- src/openpgp/cmd_verify.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/openpgp/cmd_verify.c b/src/openpgp/cmd_verify.c index cae7d4f..b068414 100644 --- a/src/openpgp/cmd_verify.c +++ b/src/openpgp/cmd_verify.c @@ -45,7 +45,7 @@ int cmd_verify(void) { return SW_WRONG_P1P2(); } uint16_t fid = 0x1000 | p2; - if (fid == EF_RC && apdu.nc > 0) { + if (fid == EF_RC) { fid = EF_PW1; } file_t *pw, *pw_status; @@ -77,7 +77,8 @@ int cmd_verify(void) { #endif return r; } - uint8_t retries = *(file_get_data(pw_status) + 3 + (fid & 0xf)); + uint8_t retry_index = p2 == 0x82 ? (EF_PW1 & 0xf) : (fid & 0xf); + uint8_t retries = *(file_get_data(pw_status) + 3 + retry_index); if (retries == 0) { return SW_PIN_BLOCKED(); }