perf svghelper: Avoid memory leak
authorIan Rogers <irogers@google.com>
Mon, 9 Oct 2023 18:39:14 +0000 (11:39 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 12 Oct 2023 17:01:56 +0000 (10:01 -0700)
On success path the sib_core and sib_thr values weren't being
freed. Detected by clang-tidy.

Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Yang Jihong <yangjihong1@huawei.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: llvm@lists.linux.dev
Cc: Ming Wang <wangming01@loongson.cn>
Cc: Tom Rix <trix@redhat.com>
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20231009183920.200859-14-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/svghelper.c

index 0e4dc31c6c9c09ff578d5027e6ff8381629f3e6c..1892e9b6aa7ff5ffc75d8e0daa19e83832b0fc0a 100644 (file)
@@ -754,6 +754,7 @@ int svg_build_topology_map(struct perf_env *env)
        int i, nr_cpus;
        struct topology t;
        char *sib_core, *sib_thr;
+       int ret = -1;
 
        nr_cpus = min(env->nr_cpus_online, MAX_NR_CPUS);
 
@@ -799,11 +800,11 @@ int svg_build_topology_map(struct perf_env *env)
 
        scan_core_topology(topology_map, &t, nr_cpus);
 
-       return 0;
+       ret = 0;
 
 exit:
        zfree(&t.sib_core);
        zfree(&t.sib_thr);
 
-       return -1;
+       return ret;
 }