mirror of
https://github.com/apache/nuttx.git
synced 2026-08-04 05:39:01 +00:00
The elf_emit_tcb_stack() function in coredump.c was calculating the stackbuffer length and emitting the stack data without validating whether thecalculated buffer range (buf + len) exceeds the actual bounds of the TCB'sstack memory region (stack_base_ptr + adj_stack_size). This could lead to out-of-bounds memory access when the calculated stacklength is larger than the available stack space, potentially causing memorycorruption, crashes, or incorrect core dump generation. This fix adds a bounds check: 1. Compares the end of the intended stack buffer (buf + len) against the upper limit of the TCB's stack (stack_base_ptr + adj_stack_size). 2. If the buffer would exceed the stack bounds, truncates the length to fit within the valid stack memory range. The change ensures safe memory access during core dump generation,preventing out-of-bounds reads and improving the robustness of the coredumpfeature. Signed-off-by: chao an <anchao.archer@bytedance.com> |
||
|---|---|---|
| .. | ||
| assert.c | ||
| CMakeLists.txt | ||
| coredump.c | ||
| coredump.h | ||
| deadlock.c | ||
| Make.defs | ||
| panic_notifier.c | ||
| reboot_notifier.c | ||