From: Petr Machata <[email protected]>

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 <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Petr Machata <[email protected]>
Link: 
http://lkml.kernel.org/r/b1e565ecccf68064d8d54f37db5d028dda8fa522.1521675563.git.pe...@mellanox.com
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 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 b956868fd445..863b61478edd 100644
--- a/tools/perf/util/python.c
+++ b/tools/perf/util/python.c
@@ -1004,8 +1004,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.14.3

Reply via email to