@@ -558,25 +558,26 @@ impl Comm {
558
558
}
559
559
560
560
pub fn get_data ( & self ) -> Result < & [ u8 ] , StatusWords > {
561
- if self . rx_length == 5 {
561
+ if self . rx == 4 {
562
562
Ok ( & [ ] ) // Conforming zero-data APDU
563
563
} else {
564
- let first_len_byte = self . io_buffer [ 5 ] as usize ;
564
+ let first_len_byte = self . apdu_buffer [ 4 ] as usize ;
565
565
let get_data_from_buffer = |len, offset| {
566
- if len == 0 || len + offset > self . rx_length {
566
+ if len == 0 || len + offset > self . rx {
567
567
Err ( StatusWords :: BadLen )
568
568
} else {
569
- Ok ( & self . io_buffer [ offset..offset + len] )
569
+ Ok ( & self . apdu_buffer [ offset..offset + len] )
570
570
}
571
571
} ;
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 ) ,
575
575
( 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 )
578
579
}
579
- ( len, _) => get_data_from_buffer ( len, 6 ) ,
580
+ ( len, _) => get_data_from_buffer ( len, 5 ) ,
580
581
}
581
582
}
582
583
}
0 commit comments