Check parameters validity

pull/1213/head
Antoine Faure 2022-01-10 10:26:14 +13:00
rodzic d3bf1453fd
commit 8a1535e2d2
2 zmienionych plików z 6 dodań i 1 usunięć

Wyświetl plik

@ -2952,6 +2952,11 @@ int stlink_erase_flash_page(stlink_t *sl, stm32_addr_t flashaddr) {
}
int stlink_erase_flash_section(stlink_t *sl, stm32_addr_t base_addr, size_t size) {
if (base_addr < sl->flash_base || (base_addr + size) > (sl->flash_base + sl->flash_size)) {
ELOG("Invalid address or flash size\n");
return (-1);
}
stm32_addr_t addr = (stm32_addr_t)base_addr;
do {

Wyświetl plik

@ -168,7 +168,7 @@ int main(int ac, char** av) {
goto on_error;
}
} else if (o.cmd == FLASH_CMD_ERASE) {
if (o.size != 0 && o.addr >= sl->flash_base && (o.addr + o.size) <= (sl->flash_base + sl->flash_size))
if (o.size > 0 && o.addr > 0)
err = stlink_erase_flash_section(sl, o.addr, o.size);
else
err = stlink_erase_flash_mass(sl);