File: pygstexception.c
Function: add_method
Error: ob_refcnt of '*module' is 1 too low
62 static int
63 add_method(PyObject *klass, PyObject *dict, PyMethodDef *method) {
64     PyObject *module = NULL;
65     PyObject *func = NULL;
66     PyObject *meth = NULL;
67 
68     module = PyString_FromString("gst");
when PyString_FromString() succeeds
PyStringObject allocated at:     module = PyString_FromString("gst");
ob_refcnt is now refs: 1 + N where N >= 0
69     if (module == NULL)
taking False path
70         goto exception;
71   
72     func = PyCFunction_NewEx(method, NULL, module);
when PyCFunction_NewEx() succeeds
73     if (func == NULL)
taking False path
74         goto exception;
75     Py_DECREF(module);
when taking True path
ob_refcnt is now refs: 0 + N where N >= 0
76   
77     meth = PyMethod_New(func, NULL, klass);
when PyMethod_New() succeeds
78     if (meth == NULL)
taking False path
79         goto exception;
80     Py_DECREF(func);
when taking True path
81   
82     if (PyDict_SetItemString(dict, method->ml_name, meth) < 0)
when treating unknown struct PyMethodDef * from pygstexception.c:63 as non-NULL
when treating unknown const char * from pygstexception.c:82 as non-NULL
when PyDict_SetItemString() fails
taking True path
83         goto exception;
84     Py_DECREF(meth);
85   
86     return 0;
87  
88 exception:
89     Py_XDECREF(module);
taking False path
when taking True path
ob_refcnt is now refs: -1 + N where N >= 0
90     Py_XDECREF(func);
taking False path
when taking True path
91     Py_XDECREF(meth);
taking False path
when taking True path
92 
93     return -1;
94 }
ob_refcnt of '*module' 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 5 similar trace(s) to this

File: pygstexception.c
Function: add_method
Error: ob_refcnt of '*func' is 1 too low
62 static int
63 add_method(PyObject *klass, PyObject *dict, PyMethodDef *method) {
64     PyObject *module = NULL;
65     PyObject *func = NULL;
66     PyObject *meth = NULL;
67 
68     module = PyString_FromString("gst");
when PyString_FromString() succeeds
69     if (module == NULL)
taking False path
70         goto exception;
71   
72     func = PyCFunction_NewEx(method, NULL, module);
when PyCFunction_NewEx() succeeds
new ref from (unknown) PyCFunction_NewEx allocated at:     func = PyCFunction_NewEx(method, NULL, module);
ob_refcnt is now refs: 1 + N where N >= 0
73     if (func == NULL)
taking False path
74         goto exception;
75     Py_DECREF(module);
when taking True path
76   
77     meth = PyMethod_New(func, NULL, klass);
when PyMethod_New() succeeds
78     if (meth == NULL)
taking False path
79         goto exception;
80     Py_DECREF(func);
when taking True path
ob_refcnt is now refs: 0 + N where N >= 0
81   
82     if (PyDict_SetItemString(dict, method->ml_name, meth) < 0)
when treating unknown struct PyMethodDef * from pygstexception.c:63 as non-NULL
when treating unknown const char * from pygstexception.c:82 as non-NULL
when PyDict_SetItemString() fails
taking True path
83         goto exception;
84     Py_DECREF(meth);
85   
86     return 0;
87  
88 exception:
89     Py_XDECREF(module);
taking False path
when taking True path
90     Py_XDECREF(func);
taking False path
when taking True path
ob_refcnt is now refs: -1 + N where N >= 0
91     Py_XDECREF(meth);
taking False path
when taking True path
92 
93     return -1;
94 }
ob_refcnt of '*func' 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 3 similar trace(s) to this

File: pygstexception.c
Function: add_method
Error: reading from deallocated memory at pygstexception.c:90: memory deallocated at pygstexception.c:80
62 static int
63 add_method(PyObject *klass, PyObject *dict, PyMethodDef *method) {
64     PyObject *module = NULL;
65     PyObject *func = NULL;
66     PyObject *meth = NULL;
67 
68     module = PyString_FromString("gst");
when PyString_FromString() succeeds
69     if (module == NULL)
taking False path
70         goto exception;
71   
72     func = PyCFunction_NewEx(method, NULL, module);
when PyCFunction_NewEx() succeeds
73     if (func == NULL)
taking False path
74         goto exception;
75     Py_DECREF(module);
when taking True path
76   
77     meth = PyMethod_New(func, NULL, klass);
when PyMethod_New() succeeds
78     if (meth == NULL)
taking False path
79         goto exception;
80     Py_DECREF(func);
when taking False path
calling tp_dealloc on new ref from (unknown) PyCFunction_NewEx allocated at pygstexception.c:72
81   
82     if (PyDict_SetItemString(dict, method->ml_name, meth) < 0)
when treating unknown struct PyMethodDef * from pygstexception.c:63 as non-NULL
when treating unknown const char * from pygstexception.c:82 as non-NULL
when PyDict_SetItemString() fails
taking True path
83         goto exception;
84     Py_DECREF(meth);
85   
86     return 0;
87  
88 exception:
89     Py_XDECREF(module);
taking False path
when taking True path
90     Py_XDECREF(func);
taking False path
reading from deallocated memory at pygstexception.c:90: memory deallocated at pygstexception.c:80
found 1 similar trace(s) to this
91     Py_XDECREF(meth);
92 
93     return -1;
94 }