File: | gstpad.override |
Function: | _wrap_gst_pad_alloc_buffer |
Error: | ob_refcnt of _Py_NoneStruct is 1 too low |
1139 static PyObject *
1140 _wrap_gst_pad_alloc_buffer (PyGObject *self, PyObject * args, PyObject *kwargs)
1141 {
1142 static char *kwlist[] = {"offset", "size", "caps", NULL};
1143 guint64 offset;
1144 gint size;
1145 PyObject *pcaps;
1146 GstCaps *caps;
1147 PyObject *ret;
1148 GstBuffer *buf;
1149 GstFlowReturn res;
1150
1151 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
1152 "KiO:GstPad.alloc_buffer",
1153 kwlist, &offset, &size, &pcaps))
1154 return NULL;
1155 caps = pyg_boxed_get(pcaps, GstCaps);
1156 res = gst_pad_alloc_buffer (GST_PAD(pygobject_get(self)),
1157 offset, size, caps, &buf);
1158 ret = PyList_New(2);
when PyList_New() succeeds
1159 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
1160 if (res != GST_FLOW_OK) {
when taking True path
ob_refcnt is now refs: 0 + N where N >= 1
1161 PyList_SetItem(ret, 1, Py_None);
PyList_SetItem() succeeds
ob_refcnt is now refs: -1 + N where N >= 2
1162 } else {
1163 PyList_SetItem(ret, 1, pygstminiobject_new(GST_MINI_OBJECT(buf)));
1164 /* Bring down the reference count, since we are meant to be the only
1165 * one holding a reference to the newly created buffer. */
1166 gst_buffer_unref (buf);
1167 }
1168 return ret;
1169 }
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_alloc_buffer |
Error: | calling PyList_SetItem with NULL as argument 1 (ret) at gstpad.override:1159 |
1139 static PyObject *
1140 _wrap_gst_pad_alloc_buffer (PyGObject *self, PyObject * args, PyObject *kwargs)
1141 {
1142 static char *kwlist[] = {"offset", "size", "caps", NULL};
1143 guint64 offset;
1144 gint size;
1145 PyObject *pcaps;
1146 GstCaps *caps;
1147 PyObject *ret;
1148 GstBuffer *buf;
1149 GstFlowReturn res;
1150
1151 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
1152 "KiO:GstPad.alloc_buffer",
1153 kwlist, &offset, &size, &pcaps))
1154 return NULL;
1155 caps = pyg_boxed_get(pcaps, GstCaps);
1156 res = gst_pad_alloc_buffer (GST_PAD(pygobject_get(self)),
1157 offset, size, caps, &buf);
1158 ret = PyList_New(2);
when PyList_New() fails
1159 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:1159
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
1160 if (res != GST_FLOW_OK) {
1161 PyList_SetItem(ret, 1, Py_None);
1162 } else {
1163 PyList_SetItem(ret, 1, pygstminiobject_new(GST_MINI_OBJECT(buf)));
1164 /* Bring down the reference count, since we are meant to be the only
1165 * one holding a reference to the newly created buffer. */
1166 gst_buffer_unref (buf);
1167 }
1168 return ret;
1169 }