mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 11:03:11 +00:00
fix(spi_flash): fixed overboundary check skipping of erase and write_encrypted
This commit is contained in:
committed by
Michael (XIAO Xufeng)
parent
13f414ca08
commit
0cb4b65613
@@ -767,7 +767,7 @@ esp_err_t IRAM_ATTR esp_flash_erase_region(esp_flash_t *chip, uint32_t start, ui
|
||||
if (len == 0) {
|
||||
return ESP_OK;
|
||||
}
|
||||
if (len > chip->size - start) {
|
||||
if (start > chip->size || len > chip->size - start) {
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
return rom_esp_flash_erase_region(chip, start, len);
|
||||
@@ -780,7 +780,7 @@ esp_err_t IRAM_ATTR esp_flash_erase_region(esp_flash_t *chip, uint32_t start, ui
|
||||
if (err != ESP_OK) {
|
||||
return err;
|
||||
}
|
||||
if (len > chip->size - start) {
|
||||
if (start > chip->size || len > chip->size - start) {
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
return rom_esp_flash_erase_region(chip, start, len);
|
||||
@@ -1537,7 +1537,7 @@ esp_err_t IRAM_ATTR esp_flash_write_encrypted(esp_flash_t *chip, uint32_t addres
|
||||
if (err != ESP_OK) {
|
||||
return err;
|
||||
}
|
||||
if (length > chip->size - address) {
|
||||
if (buffer == NULL || address > chip->size || length > chip->size - address) {
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
return rom_esp_flash_write_encrypted(chip, address, buffer, length);
|
||||
|
||||
Reference in New Issue
Block a user