diff --git a/src/hsm/cmd_puk_auth.c b/src/hsm/cmd_puk_auth.c index da8c89f..68766b3 100644 --- a/src/hsm/cmd_puk_auth.c +++ b/src/hsm/cmd_puk_auth.c @@ -23,7 +23,9 @@ int cmd_puk_auth() { uint8_t p1 = P1(apdu), p2 = P2(apdu); file_t *ef_puk = search_by_fid(EF_PUKAUT, NULL, SPECIFY_EF); if (!file_has_data(ef_puk)) { - return SW_FILE_NOT_FOUND(); + if (apdu.nc > 0) + return SW_FILE_NOT_FOUND(); + return SW_INCORRECT_P1P2(); } uint8_t *puk_data = file_get_data(ef_puk); if (apdu.nc > 0) {