[PATCH] perf: python: Reference Py_None before returning it

From: Petr Machata
Date: Wed Mar 21 2018 - 19:58:36 EST


Python None objects are handled just like all the other objects with
respect to their reference counting. Before returning Py_None, its
reference count thus needs to be bumped.

Signed-off-by: Petr Machata <petrm@xxxxxxxxxxxx>
---
tools/perf/util/python.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
index b1e999b..762d429 100644
--- a/tools/perf/util/python.c
+++ b/tools/perf/util/python.c
@@ -967,8 +967,10 @@ static PyObject *pyrf_evlist__read_on_cpu(struct pyrf_evlist *pevlist,
return PyErr_NoMemory();

evsel = perf_evlist__event2evsel(evlist, event);
- if (!evsel)
+ if (!evsel) {
+ Py_INCREF(Py_None);
return Py_None;
+ }

pevent->evsel = evsel;

--
2.4.3