From adc4bf219b67c1c835f8244037c6ebaa69f8d2f6 Mon Sep 17 00:00:00 2001 From: wanggang26 Date: Mon, 30 Dec 2024 15:39:49 +0800 Subject: [PATCH] coredump: fix crash dump failed when items of pr_regs not equal with regs_num elf_emit_tcb_note: nitems(status.pr_regs) is 18, g_tcbinfo.regs_num is 17, then g_tcbinfo.reg_off.p[17] has been out of bounds Signed-off-by: wanggang26 --- sched/misc/coredump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sched/misc/coredump.c b/sched/misc/coredump.c index 26ddaf20aa92f..49ee27f8cb016 100644 --- a/sched/misc/coredump.c +++ b/sched/misc/coredump.c @@ -328,7 +328,7 @@ static void elf_emit_tcb_note(FAR struct elf_dumpinfo_s *cinfo, if (regs != NULL) { - for (i = 0; i < nitems(status.pr_regs); i++) + for (i = 0; i < MIN(nitems(status.pr_regs), g_tcbinfo.regs_num); i++) { if (g_tcbinfo.reg_off.p[i] != UINT16_MAX) {