]> granicus.if.org Git - esp-idf/commitdiff
spi_flash: check physical address in mmap against flash chip size
authorIvan Grokhotkov <ivan@espressif.com>
Fri, 21 Oct 2016 11:33:42 +0000 (19:33 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Thu, 27 Oct 2016 09:58:42 +0000 (17:58 +0800)
components/spi_flash/flash_mmap.c

index 8636a2605eeefda0364126fa27dab1539fcd1c9d..2165a784d19a6e1508c5c876dd62af7677c30762 100644 (file)
@@ -88,6 +88,9 @@ esp_err_t IRAM_ATTR spi_flash_mmap(uint32_t src_addr, size_t size, spi_flash_mma
     if (src_addr & 0xffff) {
         return ESP_ERR_INVALID_ARG;
     }
+    if (src_addr + size > g_rom_flashchip.chip_size) {
+        return ESP_ERR_INVALID_ARG;
+    }
     spi_flash_disable_interrupts_caches_and_other_cpu();
     if (s_mmap_page_refcnt[0] == 0) {
         spi_flash_mmap_init();