perf bpf_counter: Fix a few memory leaks
authorIan Rogers <irogers@google.com>
Mon, 9 Oct 2023 18:39:20 +0000 (11:39 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 12 Oct 2023 17:01:57 +0000 (10:01 -0700)
Memory leaks were 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-20-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/bpf_counter.c

index 6732cbbcf9b3c6db5101a1f4c397073557b35b02..7f9b0e46e008c466604aec8c4e59ace15001a5e8 100644 (file)
@@ -104,7 +104,7 @@ static int bpf_program_profiler_load_one(struct evsel *evsel, u32 prog_id)
        struct bpf_prog_profiler_bpf *skel;
        struct bpf_counter *counter;
        struct bpf_program *prog;
-       char *prog_name;
+       char *prog_name = NULL;
        int prog_fd;
        int err;
 
@@ -155,10 +155,12 @@ static int bpf_program_profiler_load_one(struct evsel *evsel, u32 prog_id)
        assert(skel != NULL);
        counter->skel = skel;
        list_add(&counter->list, &evsel->bpf_counter_list);
+       free(prog_name);
        close(prog_fd);
        return 0;
 err_out:
        bpf_prog_profiler_bpf__destroy(skel);
+       free(prog_name);
        free(counter);
        close(prog_fd);
        return -1;
@@ -180,6 +182,7 @@ static int bpf_program_profiler__load(struct evsel *evsel, struct target *target
                    (*p != '\0' && *p != ',')) {
                        pr_err("Failed to parse bpf prog ids %s\n",
                               target->bpf_str);
+                       free(bpf_str_);
                        return -1;
                }