Let update_len be u32

This commit is contained in:
Rasmus Melchior Jacobsen 2023-04-11 07:46:05 +02:00
parent d8c92c53d6
commit d3ce64254a
2 changed files with 8 additions and 10 deletions

View File

@ -114,11 +114,11 @@ impl FirmwareUpdater {
_state_and_dfu_flash: &mut F, _state_and_dfu_flash: &mut F,
_public_key: &[u8], _public_key: &[u8],
_signature: &[u8], _signature: &[u8],
_update_len: usize, _update_len: u32,
_aligned: &mut [u8], _aligned: &mut [u8],
) -> Result<(), FirmwareUpdaterError> { ) -> Result<(), FirmwareUpdaterError> {
assert_eq!(_aligned.len(), F::WRITE_SIZE); assert_eq!(_aligned.len(), F::WRITE_SIZE);
assert!(_update_len as u32 <= self.dfu.size()); assert!(_update_len <= self.dfu.size());
#[cfg(feature = "ed25519-dalek")] #[cfg(feature = "ed25519-dalek")]
{ {
@ -175,11 +175,10 @@ impl FirmwareUpdater {
pub async fn hash<F: AsyncNorFlash, D: Digest>( pub async fn hash<F: AsyncNorFlash, D: Digest>(
&mut self, &mut self,
dfu_flash: &mut F, dfu_flash: &mut F,
update_len: usize, update_len: u32,
chunk_buf: &mut [u8], chunk_buf: &mut [u8],
output: &mut [u8], output: &mut [u8],
) -> Result<(), FirmwareUpdaterError> { ) -> Result<(), FirmwareUpdaterError> {
let update_len = update_len as u32;
let mut digest = D::new(); let mut digest = D::new();
for offset in (0..update_len).step_by(chunk_buf.len()) { for offset in (0..update_len).step_by(chunk_buf.len()) {
self.dfu.read(dfu_flash, offset, chunk_buf).await?; self.dfu.read(dfu_flash, offset, chunk_buf).await?;
@ -335,11 +334,11 @@ impl FirmwareUpdater {
_state_and_dfu_flash: &mut F, _state_and_dfu_flash: &mut F,
_public_key: &[u8], _public_key: &[u8],
_signature: &[u8], _signature: &[u8],
_update_len: usize, _update_len: u32,
_aligned: &mut [u8], _aligned: &mut [u8],
) -> Result<(), FirmwareUpdaterError> { ) -> Result<(), FirmwareUpdaterError> {
assert_eq!(_aligned.len(), F::WRITE_SIZE); assert_eq!(_aligned.len(), F::WRITE_SIZE);
assert!(_update_len as u32 <= self.dfu.size()); assert!(_update_len <= self.dfu.size());
#[cfg(feature = "ed25519-dalek")] #[cfg(feature = "ed25519-dalek")]
{ {
@ -394,11 +393,10 @@ impl FirmwareUpdater {
pub fn hash_blocking<F: NorFlash, D: Digest>( pub fn hash_blocking<F: NorFlash, D: Digest>(
&mut self, &mut self,
dfu_flash: &mut F, dfu_flash: &mut F,
update_len: usize, update_len: u32,
chunk_buf: &mut [u8], chunk_buf: &mut [u8],
output: &mut [u8], output: &mut [u8],
) -> Result<(), FirmwareUpdaterError> { ) -> Result<(), FirmwareUpdaterError> {
let update_len = update_len as u32;
let mut digest = D::new(); let mut digest = D::new();
for offset in (0..update_len).step_by(chunk_buf.len()) { for offset in (0..update_len).step_by(chunk_buf.len()) {
self.dfu.read_blocking(dfu_flash, offset, chunk_buf)?; self.dfu.read_blocking(dfu_flash, offset, chunk_buf)?;
@ -529,7 +527,7 @@ mod tests {
block_on(updater.write_firmware(0, to_write.as_slice(), &mut flash)).unwrap(); block_on(updater.write_firmware(0, to_write.as_slice(), &mut flash)).unwrap();
let mut chunk_buf = [0; 2]; let mut chunk_buf = [0; 2];
let mut hash = [0; 20]; let mut hash = [0; 20];
block_on(updater.hash::<_, Sha1>(&mut flash, update.len(), &mut chunk_buf, &mut hash)).unwrap(); block_on(updater.hash::<_, Sha1>(&mut flash, update.len() as u32, &mut chunk_buf, &mut hash)).unwrap();
assert_eq!(Sha1::digest(update).as_slice(), hash); assert_eq!(Sha1::digest(update).as_slice(), hash);
} }

View File

@ -255,7 +255,7 @@ mod tests {
&mut flash, &mut flash,
&public_key.to_bytes(), &public_key.to_bytes(),
&signature.to_bytes(), &signature.to_bytes(),
firmware_len, firmware_len as u32,
&mut aligned, &mut aligned,
)) ))
.is_ok()); .is_ok());