De-deuplicate le length calculation
This commit is contained in:
@@ -172,9 +172,12 @@ impl TryFrom<&[u8]> for APDU {
|
||||
if payload.len() < extended_apdu_lc + 3 {
|
||||
return Err(ApduStatusCode::SW_WRONG_LENGTH);
|
||||
}
|
||||
let extended_apdu_le_len: usize = match payload.len() - extended_apdu_lc - 3 {
|
||||
|
||||
let possible_le_len = payload.len() as i32 - extended_apdu_lc as i32 - 3;
|
||||
|
||||
let extended_apdu_le_len: usize = match possible_le_len {
|
||||
// There's some possible Le bytes at the end
|
||||
0..=3 => payload.len() - extended_apdu_lc - 3,
|
||||
0..=3 => possible_le_len as usize,
|
||||
// There are more bytes than even Le3 can consume, return an error
|
||||
_ => return Err(ApduStatusCode::SW_WRONG_LENGTH),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user