diff --git a/src/ctap/apdu.rs b/src/ctap/apdu.rs index 66dde63..d9344ec 100644 --- a/src/ctap/apdu.rs +++ b/src/ctap/apdu.rs @@ -174,8 +174,10 @@ impl TryFrom<&[u8]> for APDU { return Err(ApduStatusCode::SW_WRONG_LENGTH); } - let extended_apdu_le_len: usize = - payload.len().checked_sub(extended_apdu_lc + 3).unwrap_or(0); + let extended_apdu_le_len: usize = payload + .len() + .checked_sub(extended_apdu_lc + 3) + .unwrap_or(0xff); if extended_apdu_le_len > 3 { return Err(ApduStatusCode::SW_WRONG_LENGTH); }