From 86bffdf23b1b170765080dd37f08d0ca77a35d70 Mon Sep 17 00:00:00 2001 From: Erhan Kurubas Date: Tue, 25 Mar 2025 15:53:42 +0100 Subject: [PATCH] fix(coredump): make sure consistency with uart data and calculated checksum Closes https://github.com/espressif/esp-idf-monitor/issues/23 --- components/espcoredump/src/core_dump_uart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/espcoredump/src/core_dump_uart.c b/components/espcoredump/src/core_dump_uart.c index 60e4ffc133..d3ab4feb58 100644 --- a/components/espcoredump/src/core_dump_uart.c +++ b/components/espcoredump/src/core_dump_uart.c @@ -120,6 +120,7 @@ static esp_err_t esp_core_dump_uart_write_data(core_dump_write_data_t *wr_data, /* Copy to stack to avoid alignment restrictions. */ char *tmp = buf + (sizeof(buf) - len); memcpy(tmp, addr, len); + esp_core_dump_checksum_update(&wr_data->checksum_ctx, tmp, len); esp_core_dump_b64_encode((const uint8_t *)tmp, len, (uint8_t *)buf); addr += len; ESP_COREDUMP_PRINT("%s\r\n", buf); @@ -127,7 +128,6 @@ static esp_err_t esp_core_dump_uart_write_data(core_dump_write_data_t *wr_data, if (wr_data) { wr_data->off += data_len; - esp_core_dump_checksum_update(&wr_data->checksum_ctx, data, data_len); } return err; }