[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5b73ab68-fab6-417a-a410-69efc1f7b97b@web.de>
Date: Tue, 4 Mar 2025 13:13:20 +0100
From: Markus Elfring <Markus.Elfring@....de>
To: linux-perf-users@...r.kernel.org, Adrian Hunter
<adrian.hunter@...el.com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>, Ian Rogers <irogers@...gle.com>,
Ingo Molnar <mingo@...hat.com>, James Clark <james.clark@...aro.org>,
Jiri Olsa <jolsa@...nel.org>, Kan Liang <kan.liang@...ux.intel.com>,
Mark Rutland <mark.rutland@....com>, Namhyung Kim <namhyung@...nel.org>,
Peter Zijlstra <peterz@...radead.org>
Cc: LKML <linux-kernel@...r.kernel.org>, kernel-janitors@...r.kernel.org,
Gaosheng Cui <cuigaosheng1@...wei.com>,
Jing Zhang <renyu.zj@...ux.alibaba.com>, John Garry
<john.g.garry@...cle.com>, Kajol Jain <kjain@...ux.ibm.com>,
Ravi Bangoria <ravi.bangoria@....com>, Rob Herring <robh@...nel.org>
Subject: [PATCH] perf pmu: Improve exception handling in perf_pmu__lookup()
From: Markus Elfring <elfring@...rs.sourceforge.net>
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@...rs.sourceforge.net>
---
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
Powered by blists - more mailing lists