diff options
| author | Ian Rogers <irogers@google.com> | 2026-08-09 00:14:43 -0700 |
|---|---|---|
| committer | Namhyung Kim <namhyung@kernel.org> | 2026-08-09 21:58:11 -0700 |
| commit | 38d778acbee3ee96c14e33863b747e674d975eae (patch) | |
| tree | b75521c9d1cd70d29ca68b067ead9679de41b61e /tools/perf/util/python.c | |
| parent | 08e96e3c737bf63d917c6c4e0bb67450ad53f1d8 (diff) | |
| download | linux-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>
Diffstat (limited to 'tools/perf/util/python.c')
| -rw-r--r-- | tools/perf/util/python.c | 3 |
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(); } |
