File: | gstpad.override |
Function: | _wrap_gst_pad_pull_range |
Error: | ob_refcnt of _Py_NoneStruct is 1 too low |
1205 static PyObject *
1206 _wrap_gst_pad_pull_range (PyGObject *self, PyObject * args, PyObject *kwargs)
1207 {
1208 static char *kwlist[] = {"offset", "size", NULL};
1209 guint64 offset;
1210 gint size;
1211 PyObject *ret;
1212 GstBuffer *buf;
1213 GstFlowReturn res;
1214
1215 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
1216 "Ki:GstPad.pull_range",
1217 kwlist, &offset, &size))
1218 return NULL;
1219 res = gst_pad_pull_range (GST_PAD(pygobject_get(self)),
1220 offset, size, &buf);
1221 ret = PyList_New(2);
when PyList_New() succeeds
1222 PyList_SetItem(ret, 0, pyg_enum_from_gtype(GST_TYPE_FLOW_RETURN, res));
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
when call succeeds
PyList_SetItem() succeeds
1223 if (res != GST_FLOW_OK) {
when taking True path
ob_refcnt is now refs: 0 + N where N >= 1
1224 PyList_SetItem(ret, 1, Py_None);
PyList_SetItem() succeeds
ob_refcnt is now refs: -1 + N where N >= 2
1225 } else {
1226 PyList_SetItem(ret, 1, pygstminiobject_new(GST_MINI_OBJECT(buf)));
1227 /* Bring down the reference count, since we are meant to be the only
1228 * one holding a reference to the newly created buffer. */
1229 gst_buffer_unref (buf);
1230 }
1231 return ret;
1232 }
ob_refcnt of _Py_NoneStruct is 1 too low
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + -1
found 1 similar trace(s) to this
File: | gstpad.override |
Function: | _wrap_gst_pad_pull_range |
Error: | calling PyList_SetItem with NULL as argument 1 (ret) at gstpad.override:1222 |
1205 static PyObject *
1206 _wrap_gst_pad_pull_range (PyGObject *self, PyObject * args, PyObject *kwargs)
1207 {
1208 static char *kwlist[] = {"offset", "size", NULL};
1209 guint64 offset;
1210 gint size;
1211 PyObject *ret;
1212 GstBuffer *buf;
1213 GstFlowReturn res;
1214
1215 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
1216 "Ki:GstPad.pull_range",
1217 kwlist, &offset, &size))
1218 return NULL;
1219 res = gst_pad_pull_range (GST_PAD(pygobject_get(self)),
1220 offset, size, &buf);
1221 ret = PyList_New(2);
when PyList_New() fails
1222 PyList_SetItem(ret, 0, pyg_enum_from_gtype(GST_TYPE_FLOW_RETURN, res));
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
when call succeeds
calling PyList_SetItem with NULL as argument 1 (ret) at gstpad.override:1222
PyList_SetItem() invokes Py_TYPE() on the pointer via the PyList_Check() macro, thus accessing (NULL)->ob_type
found 1 similar trace(s) to this
1223 if (res != GST_FLOW_OK) {
1224 PyList_SetItem(ret, 1, Py_None);
1225 } else {
1226 PyList_SetItem(ret, 1, pygstminiobject_new(GST_MINI_OBJECT(buf)));
1227 /* Bring down the reference count, since we are meant to be the only
1228 * one holding a reference to the newly created buffer. */
1229 gst_buffer_unref (buf);
1230 }
1231 return ret;
1232 }