From 23f6f86ca03e87883150d21a6ac3c00590ea450a Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 3 Aug 2023 08:23:51 +0930 Subject: [PATCH] gprof: sprintf sanitizer null destination pointer * basic_blocks.c (annotate_with_count): Use output of sprintf rather than strlen. --- gprof/basic_blocks.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gprof/basic_blocks.c b/gprof/basic_blocks.c index 6073f556f47..7fbba8c03fa 100644 --- a/gprof/basic_blocks.c +++ b/gprof/basic_blocks.c @@ -360,8 +360,7 @@ annotate_with_count (char *buf, unsigned int width, int line_num, void *arg) execution count (if bb_annotate_all_lines is set). */ if (b->is_func) { - sprintf (p, "%lu", b->ncalls); - p += strlen (p); + p += sprintf (p, "%lu", b->ncalls); last_count = b->ncalls; last_print = last_count; ncalls = b->ncalls; @@ -370,8 +369,7 @@ annotate_with_count (char *buf, unsigned int width, int line_num, void *arg) else if (bb_annotate_all_lines && b->bb_addr[0] && b->bb_addr[0] > b->addr) { - sprintf (p, "%lu", last_count); - p += strlen (p); + p += sprintf (p, "%lu", last_count); last_print = last_count; ncalls = last_count; ncalls_set = 1; @@ -396,8 +394,7 @@ annotate_with_count (char *buf, unsigned int width, int line_num, void *arg) if (p > tmpbuf) *p++ = ','; - sprintf (p, "%lu", last_count); - p += strlen (p); + p += sprintf (p, "%lu", last_count); last_print = last_count; } @@ -410,8 +407,7 @@ annotate_with_count (char *buf, unsigned int width, int line_num, void *arg) if (bb_annotate_all_lines && p == tmpbuf) { - sprintf (p, "%lu", last_count); - p += strlen (p); + p += sprintf (p, "%lu", last_count); ncalls = last_count; ncalls_set = 1; } -- 2.30.2