coredump: Fixes data length calculation when task stack is corrupted

This commit is contained in:
Alexey Gerenkov
2020-07-02 14:12:15 +03:00
parent 8309f06378
commit f12b8c7990

View File

@ -51,14 +51,13 @@ static esp_err_t esp_core_dump_write_binary(void *frame, core_dump_write_config_
if (!task_is_valid) { if (!task_is_valid) {
write_cfg->bad_tasks_num++; write_cfg->bad_tasks_num++;
continue; continue;
} else {
data_len += (tcb_sz_padded + sizeof(core_dump_task_header_t));
} }
uint32_t len = 0; uint32_t len = 0;
task_is_valid = esp_core_dump_process_stack(&tasks[i], &len); task_is_valid = esp_core_dump_process_stack(&tasks[i], &len);
if (task_is_valid) { if (task_is_valid) {
// Increase core dump size by task stack size // Increase core dump size by task stack size
data_len += len; data_len += len;
data_len += (tcb_sz_padded + sizeof(core_dump_task_header_t));
} else { } else {
// If task tcb is ok but stack is corrupted // If task tcb is ok but stack is corrupted
write_cfg->bad_tasks_num++; write_cfg->bad_tasks_num++;