mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 02:09:42 +00:00
perf test: Fix a memory leak in attr test
The get_argv_exec_path() returns a dynamic memory so it should be freed after use. $ perf test -v 17 ... ==141682==ERROR: LeakSanitizer: detected memory leaks Direct leak of 33 byte(s) in 1 object(s) allocated from: #0 0x7f09107d2e8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145 #1 0x7f091035f6a7 in __vasprintf_internal libio/vasprintf.c:71 SUMMARY: AddressSanitizer: 33 byte(s) leaked in 1 allocation(s). Signed-off-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Jiri Olsa <jolsa@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: https://lore.kernel.org/r/20210301140409.184570-3-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
b0faef924d
commit
09a61c8f86
1 changed files with 7 additions and 1 deletions
|
@ -182,14 +182,20 @@ int test__attr(struct test *test __maybe_unused, int subtest __maybe_unused)
|
|||
struct stat st;
|
||||
char path_perf[PATH_MAX];
|
||||
char path_dir[PATH_MAX];
|
||||
char *exec_path;
|
||||
|
||||
/* First try development tree tests. */
|
||||
if (!lstat("./tests", &st))
|
||||
return run_dir("./tests", "./perf");
|
||||
|
||||
exec_path = get_argv_exec_path();
|
||||
if (exec_path == NULL)
|
||||
return -1;
|
||||
|
||||
/* Then installed path. */
|
||||
snprintf(path_dir, PATH_MAX, "%s/tests", get_argv_exec_path());
|
||||
snprintf(path_dir, PATH_MAX, "%s/tests", exec_path);
|
||||
snprintf(path_perf, PATH_MAX, "%s/perf", BINDIR);
|
||||
free(exec_path);
|
||||
|
||||
if (!lstat(path_dir, &st) &&
|
||||
!lstat(path_perf, &st))
|
||||
|
|
Loading…
Reference in a new issue