[PATCH v1 1/1] kasan: Replace strreplace() with strchrnul()

From: Andy Shevchenko
Date: Wed Jun 28 2023 - 11:35:33 EST


We don't need to traverse over the entire string and replace
occurrences of a character with '\0'. The first match will
suffice. Hence, replace strreplace() with strchrnul().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
mm/kasan/report_generic.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/kasan/report_generic.c b/mm/kasan/report_generic.c
index 51a1e8a8877f..63a34eac4a8c 100644
--- a/mm/kasan/report_generic.c
+++ b/mm/kasan/report_generic.c
@@ -264,6 +264,7 @@ static void print_decoded_frame_descr(const char *frame_descr)
while (num_objects--) {
unsigned long offset;
unsigned long size;
+ char *p;

/* access offset */
if (!tokenize_frame_descr(&frame_descr, token, sizeof(token),
@@ -282,7 +283,7 @@ static void print_decoded_frame_descr(const char *frame_descr)
return;

/* Strip line number; without filename it's not very helpful. */
- strreplace(token, ':', '\0');
+ p[strchrnul(token, ':') - token] = '\0';

/* Finally, print object information. */
pr_err(" [%lu, %lu) '%s'", offset, offset + size, token);
--
2.40.0.1.gaa8946217a0b