diff --git a/mm/mm_heap/mm_memdump.c b/mm/mm_heap/mm_memdump.c index 4cea66d6df1..cc99a8e71c1 100644 --- a/mm/mm_heap/mm_memdump.c +++ b/mm/mm_heap/mm_memdump.c @@ -77,12 +77,14 @@ static void memdump_handler(FAR struct mm_allocnode_s *node, FAR void *arg) ((FAR char *)node + SIZEOF_MM_ALLOCNODE)); #else int i; + FAR const char *format = " %0*p"; char buf[MM_BACKTRACE_DEPTH * MM_PTR_FMT_WIDTH + 1]; + buf[0] = '\0'; for (i = 0; i < MM_BACKTRACE_DEPTH && node->backtrace[i]; i++) { - sprintf(buf + i * MM_PTR_FMT_WIDTH, " %*p", - MM_PTR_FMT_WIDTH - 3, node->backtrace[i]); + sprintf(buf + i * MM_PTR_FMT_WIDTH, format, + MM_PTR_FMT_WIDTH - 1, node->backtrace[i]); } syslog(LOG_INFO, "%6d%12zu%*p%s\n",