diff --git a/fido2/apdu.c b/fido2/apdu.c index df89099..3d5bf49 100644 --- a/fido2/apdu.c +++ b/fido2/apdu.c @@ -13,7 +13,7 @@ int apdu_decode(uint8_t *data, size_t len, APDU_STRUCT *apdu) { EXT_APDU_HEADER *hapdu = (EXT_APDU_HEADER *)data; - apdu->cla = hapdu->cla; + apdu->cla = hapdu->cla & 0xef; // mask chaining bit if any apdu->ins = hapdu->ins; apdu->p1 = hapdu->p1; apdu->p2 = hapdu->p2; diff --git a/fido2/ctap.c b/fido2/ctap.c index 8edf591..2536c9e 100644 --- a/fido2/ctap.c +++ b/fido2/ctap.c @@ -1685,7 +1685,7 @@ uint8_t ctap_request(uint8_t * pkt_raw, int length, CTAP_RESPONSE * resp) break; default: status = CTAP1_ERR_INVALID_COMMAND; - printf2(TAG_ERR,"error, invalid cmd: %x\n", cmd); + printf2(TAG_ERR,"error, invalid cmd: 0x%02x\n", cmd); } done: