We don't return the object returned from gpiod_LineBulk_event_wait()
back to the interpreter. We need to collect it before returning True.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
PyObject *args, PyObject *kwds)
{
gpiod_LineBulkObject *bulk_obj;
- PyObject *ret;
+ PyObject *events;
bulk_obj = gpiod_LineToLineBulk(self);
if (!bulk_obj)
return NULL;
- ret = gpiod_LineBulk_event_wait(bulk_obj, args, kwds);
+ events = gpiod_LineBulk_event_wait(bulk_obj, args, kwds);
Py_DECREF(bulk_obj);
- if (!ret || ret == Py_False)
- return ret;
+ if (!events)
+ return NULL;
+ if (events == Py_False)
+ return Py_False;
+ Py_DECREF(events);
Py_RETURN_TRUE;
}