From 4b5dafe616a5553f377a5f96bd02a191187eba86 Mon Sep 17 00:00:00 2001 From: James Clark Date: Wed, 8 Oct 2025 13:42:00 +0100 Subject: [PATCH] perf tests: use strdup() in "Object code reading" Use strdup() instead of fixed PATH_MAX buffer for storing paths to not waste memory. Suggested-by: Ian Rogers Reviewed-by: Ian Rogers Signed-off-by: James Clark Signed-off-by: Namhyung Kim --- tools/perf/tests/code-reading.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c index 4c9fbf6965c4a..1acb12b1a2eb3 100644 --- a/tools/perf/tests/code-reading.c +++ b/tools/perf/tests/code-reading.c @@ -43,7 +43,7 @@ struct tested_section { struct rb_node rb_node; u64 addr; - char path[PATH_MAX]; + char *path; }; static bool tested_code_insert_or_exists(const char *path, u64 addr, @@ -79,7 +79,11 @@ static bool tested_code_insert_or_exists(const char *path, u64 addr, return true; data->addr = addr; - strlcpy(data->path, path, sizeof(data->path)); + data->path = strdup(path); + if (!data->path) { + free(data); + return true; + } rb_link_node(&data->rb_node, parent, node); rb_insert_color(&data->rb_node, tested_sections); return false; @@ -94,6 +98,7 @@ static void tested_sections__free(struct rb_root *root) rb_node); rb_erase(node, root); + free(ts->path); free(ts); } } -- 2.47.3