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

From: Jiri Olsa
Date: Thu Mar 22 2018 - 05:15:04 EST


On Thu, Mar 22, 2018 at 12:57:32AM +0100, Petr Machata wrote:
> 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>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

> ---
> 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
>