From 9cbb53716b521a9d2a5a36ce73e616339a7f296b Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Fri, 23 Sep 2022 18:29:23 +0200 Subject: [PATCH] Fix return errors. Signed-off-by: Pol Henarejos --- src/fido/cmd_authenticate.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/fido/cmd_authenticate.c b/src/fido/cmd_authenticate.c index bc09660..ad1d2ec 100644 --- a/src/fido/cmd_authenticate.c +++ b/src/fido/cmd_authenticate.c @@ -32,7 +32,7 @@ int cmd_authenticate() { if (apdu.nc < CTAP_CHAL_SIZE+CTAP_APPID_SIZE+1+1) return SW_WRONG_DATA(); if (req->keyHandleLen < KEY_HANDLE_LEN) - return SW_WRONG_DATA(); + return SW_INCORRECT_PARAMS(); if (P1(apdu) == CTAP_AUTH_ENFORCE && wait_button_pressed() == true) return SW_CONDITIONS_NOT_SATISFIED(); @@ -53,9 +53,10 @@ int cmd_authenticate() { mbedtls_ecdsa_free(&key); return SW_EXEC_ERROR(); } + if (verify_key(req->appId, req->keyHandle, &key) != 0) { + return SW_INCORRECT_PARAMS(); + } if (P1(apdu) == CTAP_AUTH_CHECK_ONLY) { - if (verify_key(req->appId, req->keyHandle, &key) != 0) - return SW_WRONG_DATA(); return SW_CONDITIONS_NOT_SATISFIED(); } resp->flags = 0;