From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue, 4 Mar 2025 12:55:05 +0100 A zfree() call is not helpful after a failed strdup(name) call in this function implementation. Thus use an other jump target instead. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> --- tools/perf/util/pmu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index 57450c73fb63..74eb46390233 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -1107,7 +1107,7 @@ struct perf_pmu *perf_pmu__lookup(struct list_head *pmus, int dirfd, const char pmu->name = strdup(name); if (!pmu->name) - goto err; + goto free_pmu; /* * Read type early to fail fast if a lookup name isn't a PMU. Ensure @@ -1155,6 +1155,7 @@ struct perf_pmu *perf_pmu__lookup(struct list_head *pmus, int dirfd, const char return pmu; err: zfree(&pmu->name); +free_pmu: free(pmu); return NULL; } -- 2.48.1