Przeglądaj źródła

Merge branch 'bugfix/esp_flash_write_temp_buffer_lifetime_v4.1' into 'release/v4.1'

esp_flash: fix write issue using buffer on stack out of lifetime (v4.1)

See merge request espressif/esp-idf!17207
morris 3 lat temu
rodzic
commit
5213a7123f
1 zmienionych plików z 4 dodań i 4 usunięć
  1. 4 4
      components/spi_flash/esp_flash_api.c

+ 4 - 4
components/spi_flash/esp_flash_api.c

@@ -599,14 +599,14 @@ esp_err_t IRAM_ATTR esp_flash_write(esp_flash_t *chip, const void *buffer, uint3
     do {
         uint32_t write_len;
         const void *write_buf;
+        uint32_t temp_buf[8];
         if (direct_write) {
             write_len = MIN(length, MAX_WRITE_CHUNK);
             write_buf = buffer;
         } else {
-            uint32_t buf[8];
-            write_len = MIN(length, sizeof(buf));
-            memcpy(buf, buffer, write_len);
-            write_buf = buf;
+            write_len = MIN(length, sizeof(temp_buf));
+            memcpy(temp_buf, buffer, write_len);
+            write_buf = temp_buf;
         }
 
         err = spiflash_start(chip);