kopia lustrzana https://github.com/stlink-org/stlink
Check parameters validity
rodzic
d3bf1453fd
commit
8a1535e2d2
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
Ładowanie…
Reference in New Issue