Skip to content

Commit 4994bf4

Browse files
sportron-ledgeryogh333
authored andcommitted
[io] : fix get_data function
1 parent 6054c0a commit 4994bf4

File tree

1 file changed

+11
-10
lines changed
  • ledger_device_sdk/src

1 file changed

+11
-10
lines changed

ledger_device_sdk/src/io.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -558,25 +558,26 @@ impl Comm {
558558
}
559559

560560
pub fn get_data(&self) -> Result<&[u8], StatusWords> {
561-
if self.rx_length == 5 {
561+
if self.rx == 4 {
562562
Ok(&[]) // Conforming zero-data APDU
563563
} else {
564-
let first_len_byte = self.io_buffer[5] as usize;
564+
let first_len_byte = self.apdu_buffer[4] as usize;
565565
let get_data_from_buffer = |len, offset| {
566-
if len == 0 || len + offset > self.rx_length {
566+
if len == 0 || len + offset > self.rx {
567567
Err(StatusWords::BadLen)
568568
} else {
569-
Ok(&self.io_buffer[offset..offset + len])
569+
Ok(&self.apdu_buffer[offset..offset + len])
570570
}
571571
};
572-
match (first_len_byte, self.rx_length) {
573-
(0, 6) => Ok(&[]), // Non-conforming zero-data APDU
574-
(0, 7) => Err(StatusWords::BadLen),
572+
match (first_len_byte, self.rx) {
573+
(0, 5) => Ok(&[]), // Non-conforming zero-data APDU
574+
(0, 6) => Err(StatusWords::BadLen),
575575
(0, _) => {
576-
let len = u16::from_le_bytes([self.io_buffer[6], self.io_buffer[7]]) as usize;
577-
get_data_from_buffer(len, 8)
576+
let len =
577+
u16::from_le_bytes([self.apdu_buffer[5], self.apdu_buffer[6]]) as usize;
578+
get_data_from_buffer(len, 7)
578579
}
579-
(len, _) => get_data_from_buffer(len, 6),
580+
(len, _) => get_data_from_buffer(len, 5),
580581
}
581582
}
582583
}

0 commit comments

Comments
 (0)