summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2026-08-09 00:14:43 -0700
committerNamhyung Kim <namhyung@kernel.org>2026-08-09 21:58:11 -0700
commit38d778acbee3ee96c14e33863b747e674d975eae (patch)
treeb75521c9d1cd70d29ca68b067ead9679de41b61e
parent08e96e3c737bf63d917c6c4e0bb67450ad53f1d8 (diff)
downloadlinux-38d778acbee3ee96c14e33863b747e674d975eae.tar.gz
linux-38d778acbee3ee96c14e33863b747e674d975eae.zip
perf python: Fix memory leak in pyrf_evlist__get_pollfd
Fix a Python list object leak in pyrf_evlist__get_pollfd() by adding a missing Py_DECREF on the error exit path. Assisted-by: Antigravity:gemini-3.1-pro Fixes: 877108e42b1b ("perf tools: Initial python binding") Signed-off-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
-rw-r--r--tools/perf/util/python.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
index af85c0771c44..c7ae1f85aec6 100644
--- a/tools/perf/util/python.c
+++ b/tools/perf/util/python.c
@@ -2825,6 +2825,8 @@ static PyObject *pyrf_evlist__get_pollfd(struct pyrf_evlist *pevlist,
evlist = pevlist->evlist;
list = PyList_New(0);
+ if (!list)
+ return NULL;
for (i = 0; i < evlist__core(evlist)->pollfd.nr; ++i) {
PyObject *file;
@@ -2843,6 +2845,7 @@ static PyObject *pyrf_evlist__get_pollfd(struct pyrf_evlist *pevlist,
return list;
free_list:
+ Py_XDECREF(list);
return PyErr_NoMemory();
}