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 }