From c9f4b0aba81a69fd664755f44473e45ab9f46fa4 Mon Sep 17 00:00:00 2001 From: aleks Date: Wed, 15 Jul 2020 08:10:51 +0200 Subject: [PATCH] espcoredump: fix error reported for blank partition --- components/espcoredump/src/core_dump_common.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/components/espcoredump/src/core_dump_common.c b/components/espcoredump/src/core_dump_common.c index 7e00c1b40..1ac358947 100644 --- a/components/espcoredump/src/core_dump_common.c +++ b/components/espcoredump/src/core_dump_common.c @@ -192,7 +192,13 @@ esp_err_t esp_core_dump_image_get(size_t* out_addr, size_t *out_size) uint32_t *dw = (uint32_t *)core_data; *out_size = *dw; spi_flash_munmap(core_data_handle); - + if (*out_size == 0xFFFFFFFF) { + ESP_LOGD(TAG, "Blank core dump partition!"); + return ESP_ERR_INVALID_SIZE; + } else if ((*out_size < sizeof(uint32_t)) || (*out_size > core_part->size)) { + ESP_LOGE(TAG, "Incorrect size of core dump image: %d", *out_size); + return ESP_ERR_INVALID_SIZE; + } // remap full core dump with CRC err = esp_partition_mmap(core_part, 0, *out_size, SPI_FLASH_MMAP_DATA, &core_data, &core_data_handle);