File: ./gst.override
Function: _wrap_gst_type_find_register
Error: ob_refcnt of '*data' is 1 too high
1249 static PyObject *
1250 _wrap_gst_type_find_register (PyObject *self, PyObject *args)
1251 {
1252     guint rank;
1253     PyObject *required_args;
1254     PyObject *function;
1255     PyObject *function_args = NULL;
1256     PyObject *py_extensions = NULL, *ext;
1257     PyObject *py_possible_caps = NULL;
1258     PyObject *py_res = NULL;
1259     gchar *name;
1260     gpointer *data = NULL;
1261     GStrv extensions = NULL;
1262     guint i, n_extensions;
1263     GstCaps *possible_caps = NULL;
1264     gboolean res = FALSE;
1265     
1266     if (PyTuple_GET_SIZE(args) > 5) {
when considering range: -0x8000000000000000 <= value <= 5
taking False path
1267       required_args = PyTuple_GetSlice(args, 0, 5);
1268       function_args = PyTuple_GetSlice(args, 5, PyTuple_GET_SIZE(args));
1269     } else {
1270       required_args = args;
1271     }
1272 
1273     if (!PyArg_ParseTuple(required_args, "siO|OO:type_find_register",
when PyArg_ParseTuple() succeeds
taking False path
1274              &name, &rank, &function, &py_extensions, &py_possible_caps)) {
1275       goto out;
1276     }
1277 
1278     if (!PyCallable_Check(function)) {
when PyCallable_Check() returns 1 (true)
taking False path
1279       PyErr_SetString (PyExc_TypeError, "function is not a callable");
1280       goto out;
1281     }
1282 
1283     if (py_extensions) {
taking True path
1284       n_extensions = PySequence_Size(py_extensions);
1285       if (n_extensions == -1) {
when considering range: 0 <= value <= 0xfffffffe
taking False path
1286         goto out;
1287       }
1288 
1289       if (n_extensions > 0) {
when considering value == (guint)0 from ./gst.override:1284
taking False path
1290         extensions = (char **) g_malloc(sizeof(char *) * n_extensions + 1);
1291         for(i = 0; i < n_extensions; ++i) {
1292           ext = PySequence_GetItem(py_extensions, i);
1293           
1294           if (!PyString_Check(ext)) {
1295             PyErr_SetString(PyExc_TypeError, "extension is not a string");
1296             goto out;
1297           }
1298 
1299           extensions[i] = g_strdup(PyString_AS_STRING(ext));
1300         }
1301 
1302         extensions[n_extensions] = NULL;
1303       }
1304     }
1305     
1306     if (py_possible_caps)
taking True path
1307       possible_caps = pygst_caps_from_pyobject(py_possible_caps, NULL);
1308 
1309     if (function_args)
taking False path
1310       data = (gpointer) Py_BuildValue("(OO)", function, function_args);
1311     else
1312       data = (gpointer) Py_BuildValue("(O)", function);
when Py_BuildValue() succeeds
new ref from call to Py_BuildValue allocated at:       data = (gpointer) Py_BuildValue("(O)", function);
ob_refcnt is now refs: 1 + N where N >= 0
1313 
1314     pyg_begin_allow_threads;
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
when considering range: -0x80000000 <= value <= -1
taking True path
releasing the GIL by calling PyEval_SaveThread()
1315     res = gst_type_find_register(NULL, name, rank,
1316         type_find_function, extensions, possible_caps,
1317         data, type_find_function_data_destroy_notify);
1318     pyg_end_allow_threads;
when considering range: 1 <= value <= 0x7fffffff
taking True path
reacquiring the GIL by calling PyEval_RestoreThread()
1319 
1320     py_res = PyBool_FromLong(res);
PyBool_FromLong() returns
1321 
1322 out:
1323     if (required_args != args) {
taking False path
1324       Py_DECREF(required_args);
1325     }
1326 
1327     Py_XDECREF(function_args);
taking True path
1328 
1329     if (extensions)
taking False path
1330       g_strfreev(extensions);
1331 
1332     if (possible_caps)
when treating unknown struct GstCaps * from ./gst.override:1307 as non-NULL
taking True path
1333       gst_caps_unref(possible_caps);
1334 
1335     if (res == FALSE && data) {
when considering range: -0x80000000 <= value <= -1
taking False path
1336       Py_DECREF((PyObject *) data);
1337     }
1338 
1339     return py_res;
returning
ob_refcnt of '*data' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 9 similar trace(s) to this
1340 }