Let update_len be u32
This commit is contained in:
parent
d8c92c53d6
commit
d3ce64254a
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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());
|
||||||
|
Loading…
Reference in New Issue
Block a user