Messages in this thread | ![/](/images/icornerl.gif) | | Date | Sun, 25 Feb 2024 16:42:15 +0100 | Subject | Re: [PATCH] perf pmu: Fix a potential memory leak in perf_pmu__lookup() | From | Christophe JAILLET <> |
| |
Le 26/08/2023 à 23:32, Christophe JAILLET a écrit : > The commit in Fixes has reordered some code, but missed an error handling > path. > > 'goto err' now, in order to avoid a memory leak in case of error. > > Fixes: f63a536f03a2 ("perf pmu: Merge JSON events with sysfs at load time") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > ---
Hi,
polite reminder.
CJ
> tools/perf/util/pmu.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c > index bb2ca29cd7bd..8dfce84ad9fe 100644 > --- a/tools/perf/util/pmu.c > +++ b/tools/perf/util/pmu.c > @@ -1018,10 +1018,9 @@ struct perf_pmu *perf_pmu__lookup(struct list_head *pmus, int dirfd, const char > * type value and format definitions. Load both right > * now. > */ > - if (pmu_format(pmu, dirfd, name)) { > - free(pmu); > - return NULL; > - } > + if (pmu_format(pmu, dirfd, name)) > + goto err; > + > pmu->is_core = is_pmu_core(name); > pmu->cpus = pmu_cpumask(dirfd, name, pmu->is_core); >
| ![\](/images/icornerr.gif) |