bootloader: erase metadata backup after usage
This commit is contained in:
parent
3d7d0f0734
commit
184529bbfc
|
@ -394,9 +394,10 @@ static void hid_rx_callback(usbd_device *dev, uint8_t ep)
|
||||||
uint8_t hash[32];
|
uint8_t hash[32];
|
||||||
sha256_Raw((unsigned char *)FLASH_META_START, FLASH_META_LEN, hash);
|
sha256_Raw((unsigned char *)FLASH_META_START, FLASH_META_LEN, hash);
|
||||||
|
|
||||||
// copy metadata back
|
// restore metadata from backup
|
||||||
erase_metadata_sectors();
|
erase_metadata_sectors();
|
||||||
restore_metadata(meta_backup);
|
restore_metadata(meta_backup);
|
||||||
|
memset(meta_backup, 0, sizeof(meta_backup));
|
||||||
|
|
||||||
// compare against known hash computed via the following Python3 script:
|
// compare against known hash computed via the following Python3 script:
|
||||||
// hashlib.sha256(binascii.unhexlify('0F5A693C' * 8192)).hexdigest()
|
// hashlib.sha256(binascii.unhexlify('0F5A693C' * 8192)).hexdigest()
|
||||||
|
@ -568,8 +569,9 @@ static void hid_rx_callback(usbd_device *dev, uint8_t ep)
|
||||||
}
|
}
|
||||||
// erase storage
|
// erase storage
|
||||||
erase_metadata_sectors();
|
erase_metadata_sectors();
|
||||||
// copy storage from backup
|
// restore metadata from backup
|
||||||
restore_metadata(meta_backup);
|
restore_metadata(meta_backup);
|
||||||
|
memset(meta_backup, 0, sizeof(meta_backup));
|
||||||
} else {
|
} else {
|
||||||
// replace "TRZR" in header with 0000 when hash not confirmed
|
// replace "TRZR" in header with 0000 when hash not confirmed
|
||||||
if (!hash_check_ok) {
|
if (!hash_check_ok) {
|
||||||
|
|
Loading…
Reference in New Issue