Make anonymous field of CHUID struct public. Remove spurious -2 instances inside Transaction::transfer_data (the Response object is already eating the status words)

This commit is contained in:
Carl Wallace
2019-11-27 15:09:53 -05:00
parent d799e9c35b
commit 0f1ef2f519
2 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -57,7 +57,7 @@ const CHUID_TMPL: &[u8] = &[
/// Cardholder Unique Identifier (CHUID)
#[derive(Copy, Clone, Debug)]
pub struct CHUID([u8; YKPIV_CARDID_SIZE]);
pub struct CHUID(pub [u8; YKPIV_CARDID_SIZE]);
impl CHUID {
/// Generate a random Cardholder Unique Identifier (CHUID)
+6 -6
View File
@@ -421,17 +421,17 @@ impl<'tx> Transaction<'tx> {
sw = response.status_words().code();
if out_data.len() - response.data().len() - 2 > max_out {
if 0 != out_data.len() && (out_data.len() - response.data().len() > max_out) {
error!(
"output buffer too small: wanted to write {}, max was {}",
out_data.len() - response.data().len() - 2,
out_data.len() - response.data().len(),
max_out
);
return Err(Error::SizeError);
}
out_data.extend_from_slice(&response.data()[..response.data().len() - 2]);
out_data.extend_from_slice(&response.data()[..response.data().len()]);
in_offset += this_size;
if in_offset >= in_data.len() {
@@ -452,17 +452,17 @@ impl<'tx> Transaction<'tx> {
return Ok(Response::new(sw.into(), vec![]));
}
if out_data.len() + response.data().len() - 2 > max_out {
if out_data.len() + response.data().len() > max_out {
error!(
"output buffer too small: wanted to write {}, max was {}",
out_data.len() + response.data().len() - 2,
out_data.len() + response.data().len(),
max_out
);
return Err(Error::SizeError);
}
out_data.extend_from_slice(&response.data()[..response.data().len() - 2]);
out_data.extend_from_slice(&response.data()[..response.data().len()]);
}
Ok(Response::new(sw.into(), out_data))