diff --git a/libcpychecker_html/foo.html b/libcpychecker_html/foo.html new file mode 100644 index 00000000..6a8ea822 --- /dev/null +++ b/libcpychecker_html/foo.html @@ -0,0 +1,1185 @@ + +
| DL_EXPORT(void) + |
| init_mysql(void) + |
| #endif + |
| { + |
| PyObject *dict, *module, *emod, *edict; + |
| + |
| utf8conn = mysql_init(NULL); + |
| utf8conn->charset = &my_charset_utf8mb4_unicode_ci; + |
| + |
| #ifdef IS_PY3K + |
| module = PyModule_Create(&_mysqlmodule); + |
| if (!module) return module; /* this really should never happen */ + |
| #else + |
| module = Py_InitModule4("_mysql", _mysql_methods, _mysql___doc__, + |
| (PyObject *)NULL, PYTHON_API_VERSION); + |
| if (!module) return; /* this really should never happen */ + |
| #endif + |
| #ifdef IS_PY3K + |
| Py_TYPE(&_mysql_ConnectionObject_Type) = &PyType_Type; + |
| Py_TYPE(&_mysql_ResultObject_Type) = &PyType_Type; + |
| #else + |
| _mysql_ConnectionObject_Type.ob_type = &PyType_Type; + |
| _mysql_ResultObject_Type.ob_type = &PyType_Type; + |
| #endif + |
| #if PY_VERSION_HEX >= 0x02020000 + |
| _mysql_ConnectionObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ResultObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ConnectionObject_Type.tp_new = PyType_GenericNew; + |
| _mysql_ResultObject_Type.tp_new = PyType_GenericNew; + |
| #ifndef IS_PY3K + |
| _mysql_ConnectionObject_Type.tp_free = _PyObject_GC_Del; + |
| _mysql_ResultObject_Type.tp_free = _PyObject_GC_Del; + |
| #endif + |
| #endif + |
| + |
| if (!(dict = PyModule_GetDict(module))) goto error; + |
| if (PyDict_SetItemString(dict, "version_info", + |
| PyRun_String(QUOTE(version_info), Py_eval_input, + |
| dict, dict))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "__version__", + |
| PyUnicode_FromString(QUOTE(__version__)))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "connection", + |
| (PyObject *)&_mysql_ConnectionObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ConnectionObject_Type); + |
| if (PyDict_SetItemString(dict, "result", + |
| (PyObject *)&_mysql_ResultObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ResultObject_Type); + |
| if (!(emod = PyImport_ImportModule("_mysql_exceptions"))) { + |
| PyErr_Print(); + |
| goto error; + |
| } + |
| if (!(edict = PyModule_GetDict(emod))) goto error; + |
| if (!(_mysql_MySQLError = + |
| _mysql_NewException(dict, edict, "MySQLError"))) + |
| goto error; + |
| if (!(_mysql_Warning = + |
| _mysql_NewException(dict, edict, "Warning"))) + |
| goto error; + |
| if (!(_mysql_Error = + |
| _mysql_NewException(dict, edict, "Error"))) + |
| goto error; + |
| if (!(_mysql_InterfaceError = + |
| _mysql_NewException(dict, edict, "InterfaceError"))) + |
| goto error; + |
| if (!(_mysql_DatabaseError = + |
| _mysql_NewException(dict, edict, "DatabaseError"))) + |
| goto error; + |
| if (!(_mysql_DataError = + |
| _mysql_NewException(dict, edict, "DataError"))) + |
| goto error; + |
| if (!(_mysql_OperationalError = + |
| _mysql_NewException(dict, edict, "OperationalError"))) + |
| goto error; + |
| if (!(_mysql_IntegrityError = + |
| _mysql_NewException(dict, edict, "IntegrityError"))) + |
| goto error; + |
| if (!(_mysql_InternalError = + |
| _mysql_NewException(dict, edict, "InternalError"))) + |
| goto error; + |
| if (!(_mysql_ProgrammingError = + |
| _mysql_NewException(dict, edict, "ProgrammingError"))) + |
| goto error; + |
| if (!(_mysql_NotSupportedError = + |
| _mysql_NewException(dict, edict, "NotSupportedError"))) + |
| goto error; + |
| if (!(_mysql_NULL = PyBytes_FromString("NULL"))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "NULL", _mysql_NULL)) goto error; + |
| error: + |
| if (emod) Py_DECREF(emod); + |
| if (PyErr_Occurred()) { + |
| PyErr_SetString(PyExc_ImportError, + |
| "_mysql: init failed"); + |
| if (module) Py_DECREF(module); + |
| module = NULL; + |
| } + |
| #ifdef IS_PY3K + |
| return module; + |
| #endif + |
| } + |
when treating unknown struct MYSQL * from _mysql.c:2987 as non-NULL
when Py_InitModule4TraceRefs_64() succeeds
new ref from (unknown) Py_InitModule4TraceRefs_64 allocated at: module = Py_InitModule4("_mysql", _mysql_methods, _mysql___doc__,
taking False path
taking False path
when PyRun_StringFlags() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyUnicodeUCS4_FromString() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyImport_ImportModule() succeeds
taking False path
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when PyString_FromString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
taking True path
when taking True path
taking False path
PyErr_Occurred()
taking False path
returning
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
| DL_EXPORT(void) + |
| init_mysql(void) + |
| #endif + |
| { + |
| PyObject *dict, *module, *emod, *edict; + |
| + |
| utf8conn = mysql_init(NULL); + |
| utf8conn->charset = &my_charset_utf8mb4_unicode_ci; + |
| + |
| #ifdef IS_PY3K + |
| module = PyModule_Create(&_mysqlmodule); + |
| if (!module) return module; /* this really should never happen */ + |
| #else + |
| module = Py_InitModule4("_mysql", _mysql_methods, _mysql___doc__, + |
| (PyObject *)NULL, PYTHON_API_VERSION); + |
| if (!module) return; /* this really should never happen */ + |
| #endif + |
| #ifdef IS_PY3K + |
| Py_TYPE(&_mysql_ConnectionObject_Type) = &PyType_Type; + |
| Py_TYPE(&_mysql_ResultObject_Type) = &PyType_Type; + |
| #else + |
| _mysql_ConnectionObject_Type.ob_type = &PyType_Type; + |
| _mysql_ResultObject_Type.ob_type = &PyType_Type; + |
| #endif + |
| #if PY_VERSION_HEX >= 0x02020000 + |
| _mysql_ConnectionObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ResultObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ConnectionObject_Type.tp_new = PyType_GenericNew; + |
| _mysql_ResultObject_Type.tp_new = PyType_GenericNew; + |
| #ifndef IS_PY3K + |
| _mysql_ConnectionObject_Type.tp_free = _PyObject_GC_Del; + |
| _mysql_ResultObject_Type.tp_free = _PyObject_GC_Del; + |
| #endif + |
| #endif + |
| + |
| if (!(dict = PyModule_GetDict(module))) goto error; + |
| if (PyDict_SetItemString(dict, "version_info", + |
| PyRun_String(QUOTE(version_info), Py_eval_input, + |
| dict, dict))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "__version__", + |
| PyUnicode_FromString(QUOTE(__version__)))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "connection", + |
| (PyObject *)&_mysql_ConnectionObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ConnectionObject_Type); + |
| if (PyDict_SetItemString(dict, "result", + |
| (PyObject *)&_mysql_ResultObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ResultObject_Type); + |
| if (!(emod = PyImport_ImportModule("_mysql_exceptions"))) { + |
| PyErr_Print(); + |
| goto error; + |
| } + |
| if (!(edict = PyModule_GetDict(emod))) goto error; + |
| if (!(_mysql_MySQLError = + |
| _mysql_NewException(dict, edict, "MySQLError"))) + |
| goto error; + |
| if (!(_mysql_Warning = + |
| _mysql_NewException(dict, edict, "Warning"))) + |
| goto error; + |
| if (!(_mysql_Error = + |
| _mysql_NewException(dict, edict, "Error"))) + |
| goto error; + |
| if (!(_mysql_InterfaceError = + |
| _mysql_NewException(dict, edict, "InterfaceError"))) + |
| goto error; + |
| if (!(_mysql_DatabaseError = + |
| _mysql_NewException(dict, edict, "DatabaseError"))) + |
| goto error; + |
| if (!(_mysql_DataError = + |
| _mysql_NewException(dict, edict, "DataError"))) + |
| goto error; + |
| if (!(_mysql_OperationalError = + |
| _mysql_NewException(dict, edict, "OperationalError"))) + |
| goto error; + |
| if (!(_mysql_IntegrityError = + |
| _mysql_NewException(dict, edict, "IntegrityError"))) + |
| goto error; + |
| if (!(_mysql_InternalError = + |
| _mysql_NewException(dict, edict, "InternalError"))) + |
| goto error; + |
| if (!(_mysql_ProgrammingError = + |
| _mysql_NewException(dict, edict, "ProgrammingError"))) + |
| goto error; + |
| if (!(_mysql_NotSupportedError = + |
| _mysql_NewException(dict, edict, "NotSupportedError"))) + |
| goto error; + |
| if (!(_mysql_NULL = PyBytes_FromString("NULL"))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "NULL", _mysql_NULL)) goto error; + |
| error: + |
| if (emod) Py_DECREF(emod); + |
| if (PyErr_Occurred()) { + |
| PyErr_SetString(PyExc_ImportError, + |
| "_mysql: init failed"); + |
| if (module) Py_DECREF(module); + |
| module = NULL; + |
| } + |
| #ifdef IS_PY3K + |
| return module; + |
| #endif + |
| } + |
when treating unknown struct MYSQL * from _mysql.c:2987 as non-NULL
when Py_InitModule4TraceRefs_64() succeeds
taking False path
taking False path
when PyRun_StringFlags() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyUnicodeUCS4_FromString() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyImport_ImportModule() succeeds
taking False path
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when PyString_FromString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
taking True path
when taking True path
taking False path
PyErr_Occurred()
taking False path
returning
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
| DL_EXPORT(void) + |
| init_mysql(void) + |
| #endif + |
| { + |
| PyObject *dict, *module, *emod, *edict; + |
| + |
| utf8conn = mysql_init(NULL); + |
| utf8conn->charset = &my_charset_utf8mb4_unicode_ci; + |
| + |
| #ifdef IS_PY3K + |
| module = PyModule_Create(&_mysqlmodule); + |
| if (!module) return module; /* this really should never happen */ + |
| #else + |
| module = Py_InitModule4("_mysql", _mysql_methods, _mysql___doc__, + |
| (PyObject *)NULL, PYTHON_API_VERSION); + |
| if (!module) return; /* this really should never happen */ + |
| #endif + |
| #ifdef IS_PY3K + |
| Py_TYPE(&_mysql_ConnectionObject_Type) = &PyType_Type; + |
| Py_TYPE(&_mysql_ResultObject_Type) = &PyType_Type; + |
| #else + |
| _mysql_ConnectionObject_Type.ob_type = &PyType_Type; + |
| _mysql_ResultObject_Type.ob_type = &PyType_Type; + |
| #endif + |
| #if PY_VERSION_HEX >= 0x02020000 + |
| _mysql_ConnectionObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ResultObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ConnectionObject_Type.tp_new = PyType_GenericNew; + |
| _mysql_ResultObject_Type.tp_new = PyType_GenericNew; + |
| #ifndef IS_PY3K + |
| _mysql_ConnectionObject_Type.tp_free = _PyObject_GC_Del; + |
| _mysql_ResultObject_Type.tp_free = _PyObject_GC_Del; + |
| #endif + |
| #endif + |
| + |
| if (!(dict = PyModule_GetDict(module))) goto error; + |
| if (PyDict_SetItemString(dict, "version_info", + |
| PyRun_String(QUOTE(version_info), Py_eval_input, + |
| dict, dict))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "__version__", + |
| PyUnicode_FromString(QUOTE(__version__)))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "connection", + |
| (PyObject *)&_mysql_ConnectionObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ConnectionObject_Type); + |
| if (PyDict_SetItemString(dict, "result", + |
| (PyObject *)&_mysql_ResultObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ResultObject_Type); + |
| if (!(emod = PyImport_ImportModule("_mysql_exceptions"))) { + |
| PyErr_Print(); + |
| goto error; + |
| } + |
| if (!(edict = PyModule_GetDict(emod))) goto error; + |
| if (!(_mysql_MySQLError = + |
| _mysql_NewException(dict, edict, "MySQLError"))) + |
| goto error; + |
| if (!(_mysql_Warning = + |
| _mysql_NewException(dict, edict, "Warning"))) + |
| goto error; + |
| if (!(_mysql_Error = + |
| _mysql_NewException(dict, edict, "Error"))) + |
| goto error; + |
| if (!(_mysql_InterfaceError = + |
| _mysql_NewException(dict, edict, "InterfaceError"))) + |
| goto error; + |
| if (!(_mysql_DatabaseError = + |
| _mysql_NewException(dict, edict, "DatabaseError"))) + |
| goto error; + |
| if (!(_mysql_DataError = + |
| _mysql_NewException(dict, edict, "DataError"))) + |
| goto error; + |
| if (!(_mysql_OperationalError = + |
| _mysql_NewException(dict, edict, "OperationalError"))) + |
| goto error; + |
| if (!(_mysql_IntegrityError = + |
| _mysql_NewException(dict, edict, "IntegrityError"))) + |
| goto error; + |
| if (!(_mysql_InternalError = + |
| _mysql_NewException(dict, edict, "InternalError"))) + |
| goto error; + |
| if (!(_mysql_ProgrammingError = + |
| _mysql_NewException(dict, edict, "ProgrammingError"))) + |
| goto error; + |
| if (!(_mysql_NotSupportedError = + |
| _mysql_NewException(dict, edict, "NotSupportedError"))) + |
| goto error; + |
| if (!(_mysql_NULL = PyBytes_FromString("NULL"))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "NULL", _mysql_NULL)) goto error; + |
| error: + |
| if (emod) Py_DECREF(emod); + |
| if (PyErr_Occurred()) { + |
| PyErr_SetString(PyExc_ImportError, + |
| "_mysql: init failed"); + |
| if (module) Py_DECREF(module); + |
| module = NULL; + |
| } + |
| #ifdef IS_PY3K + |
| return module; + |
| #endif + |
| } + |
when treating unknown struct MYSQL * from _mysql.c:2987 as non-NULL
when Py_InitModule4TraceRefs_64() succeeds
taking False path
taking False path
when PyRun_StringFlags() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyUnicodeUCS4_FromString() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyImport_ImportModule() succeeds
taking False path
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when PyString_FromString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
taking True path
when taking True path
taking False path
PyErr_Occurred()
taking False path
returning
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
| DL_EXPORT(void) + |
| init_mysql(void) + |
| #endif + |
| { + |
| PyObject *dict, *module, *emod, *edict; + |
| + |
| utf8conn = mysql_init(NULL); + |
| utf8conn->charset = &my_charset_utf8mb4_unicode_ci; + |
| + |
| #ifdef IS_PY3K + |
| module = PyModule_Create(&_mysqlmodule); + |
| if (!module) return module; /* this really should never happen */ + |
| #else + |
| module = Py_InitModule4("_mysql", _mysql_methods, _mysql___doc__, + |
| (PyObject *)NULL, PYTHON_API_VERSION); + |
| if (!module) return; /* this really should never happen */ + |
| #endif + |
| #ifdef IS_PY3K + |
| Py_TYPE(&_mysql_ConnectionObject_Type) = &PyType_Type; + |
| Py_TYPE(&_mysql_ResultObject_Type) = &PyType_Type; + |
| #else + |
| _mysql_ConnectionObject_Type.ob_type = &PyType_Type; + |
| _mysql_ResultObject_Type.ob_type = &PyType_Type; + |
| #endif + |
| #if PY_VERSION_HEX >= 0x02020000 + |
| _mysql_ConnectionObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ResultObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ConnectionObject_Type.tp_new = PyType_GenericNew; + |
| _mysql_ResultObject_Type.tp_new = PyType_GenericNew; + |
| #ifndef IS_PY3K + |
| _mysql_ConnectionObject_Type.tp_free = _PyObject_GC_Del; + |
| _mysql_ResultObject_Type.tp_free = _PyObject_GC_Del; + |
| #endif + |
| #endif + |
| + |
| if (!(dict = PyModule_GetDict(module))) goto error; + |
| if (PyDict_SetItemString(dict, "version_info", + |
| PyRun_String(QUOTE(version_info), Py_eval_input, + |
| dict, dict))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "__version__", + |
| PyUnicode_FromString(QUOTE(__version__)))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "connection", + |
| (PyObject *)&_mysql_ConnectionObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ConnectionObject_Type); + |
| if (PyDict_SetItemString(dict, "result", + |
| (PyObject *)&_mysql_ResultObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ResultObject_Type); + |
| if (!(emod = PyImport_ImportModule("_mysql_exceptions"))) { + |
| PyErr_Print(); + |
| goto error; + |
| } + |
| if (!(edict = PyModule_GetDict(emod))) goto error; + |
| if (!(_mysql_MySQLError = + |
| _mysql_NewException(dict, edict, "MySQLError"))) + |
| goto error; + |
| if (!(_mysql_Warning = + |
| _mysql_NewException(dict, edict, "Warning"))) + |
| goto error; + |
| if (!(_mysql_Error = + |
| _mysql_NewException(dict, edict, "Error"))) + |
| goto error; + |
| if (!(_mysql_InterfaceError = + |
| _mysql_NewException(dict, edict, "InterfaceError"))) + |
| goto error; + |
| if (!(_mysql_DatabaseError = + |
| _mysql_NewException(dict, edict, "DatabaseError"))) + |
| goto error; + |
| if (!(_mysql_DataError = + |
| _mysql_NewException(dict, edict, "DataError"))) + |
| goto error; + |
| if (!(_mysql_OperationalError = + |
| _mysql_NewException(dict, edict, "OperationalError"))) + |
| goto error; + |
| if (!(_mysql_IntegrityError = + |
| _mysql_NewException(dict, edict, "IntegrityError"))) + |
| goto error; + |
| if (!(_mysql_InternalError = + |
| _mysql_NewException(dict, edict, "InternalError"))) + |
| goto error; + |
| if (!(_mysql_ProgrammingError = + |
| _mysql_NewException(dict, edict, "ProgrammingError"))) + |
| goto error; + |
| if (!(_mysql_NotSupportedError = + |
| _mysql_NewException(dict, edict, "NotSupportedError"))) + |
| goto error; + |
| if (!(_mysql_NULL = PyBytes_FromString("NULL"))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "NULL", _mysql_NULL)) goto error; + |
| error: + |
| if (emod) Py_DECREF(emod); + |
| if (PyErr_Occurred()) { + |
| PyErr_SetString(PyExc_ImportError, + |
| "_mysql: init failed"); + |
| if (module) Py_DECREF(module); + |
| module = NULL; + |
| } + |
| #ifdef IS_PY3K + |
| return module; + |
| #endif + |
| } + |
when treating unknown struct MYSQL * from _mysql.c:2987 as non-NULL
when Py_InitModule4TraceRefs_64() succeeds
taking False path
taking False path
when PyRun_StringFlags() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyUnicodeUCS4_FromString() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyImport_ImportModule() succeeds
taking False path
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when PyString_FromString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
taking True path
when taking True path
taking False path
PyErr_Occurred()
taking False path
returning
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
new ref from (unknown) PyRun_StringFlags allocated at: if (PyDict_SetItemString(dict, "version_info",
| DL_EXPORT(void) + |
| init_mysql(void) + |
| #endif + |
| { + |
| PyObject *dict, *module, *emod, *edict; + |
| + |
| utf8conn = mysql_init(NULL); + |
| utf8conn->charset = &my_charset_utf8mb4_unicode_ci; + |
| + |
| #ifdef IS_PY3K + |
| module = PyModule_Create(&_mysqlmodule); + |
| if (!module) return module; /* this really should never happen */ + |
| #else + |
| module = Py_InitModule4("_mysql", _mysql_methods, _mysql___doc__, + |
| (PyObject *)NULL, PYTHON_API_VERSION); + |
| if (!module) return; /* this really should never happen */ + |
| #endif + |
| #ifdef IS_PY3K + |
| Py_TYPE(&_mysql_ConnectionObject_Type) = &PyType_Type; + |
| Py_TYPE(&_mysql_ResultObject_Type) = &PyType_Type; + |
| #else + |
| _mysql_ConnectionObject_Type.ob_type = &PyType_Type; + |
| _mysql_ResultObject_Type.ob_type = &PyType_Type; + |
| #endif + |
| #if PY_VERSION_HEX >= 0x02020000 + |
| _mysql_ConnectionObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ResultObject_Type.tp_alloc = PyType_GenericAlloc; + |
| _mysql_ConnectionObject_Type.tp_new = PyType_GenericNew; + |
| _mysql_ResultObject_Type.tp_new = PyType_GenericNew; + |
| #ifndef IS_PY3K + |
| _mysql_ConnectionObject_Type.tp_free = _PyObject_GC_Del; + |
| _mysql_ResultObject_Type.tp_free = _PyObject_GC_Del; + |
| #endif + |
| #endif + |
| + |
| if (!(dict = PyModule_GetDict(module))) goto error; + |
| if (PyDict_SetItemString(dict, "version_info", + |
| PyRun_String(QUOTE(version_info), Py_eval_input, + |
| dict, dict))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "__version__", + |
| PyUnicode_FromString(QUOTE(__version__)))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "connection", + |
| (PyObject *)&_mysql_ConnectionObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ConnectionObject_Type); + |
| if (PyDict_SetItemString(dict, "result", + |
| (PyObject *)&_mysql_ResultObject_Type)) + |
| goto error; + |
| Py_INCREF(&_mysql_ResultObject_Type); + |
| if (!(emod = PyImport_ImportModule("_mysql_exceptions"))) { + |
| PyErr_Print(); + |
| goto error; + |
| } + |
| if (!(edict = PyModule_GetDict(emod))) goto error; + |
| if (!(_mysql_MySQLError = + |
| _mysql_NewException(dict, edict, "MySQLError"))) + |
| goto error; + |
| if (!(_mysql_Warning = + |
| _mysql_NewException(dict, edict, "Warning"))) + |
| goto error; + |
| if (!(_mysql_Error = + |
| _mysql_NewException(dict, edict, "Error"))) + |
| goto error; + |
| if (!(_mysql_InterfaceError = + |
| _mysql_NewException(dict, edict, "InterfaceError"))) + |
| goto error; + |
| if (!(_mysql_DatabaseError = + |
| _mysql_NewException(dict, edict, "DatabaseError"))) + |
| goto error; + |
| if (!(_mysql_DataError = + |
| _mysql_NewException(dict, edict, "DataError"))) + |
| goto error; + |
| if (!(_mysql_OperationalError = + |
| _mysql_NewException(dict, edict, "OperationalError"))) + |
| goto error; + |
| if (!(_mysql_IntegrityError = + |
| _mysql_NewException(dict, edict, "IntegrityError"))) + |
| goto error; + |
| if (!(_mysql_InternalError = + |
| _mysql_NewException(dict, edict, "InternalError"))) + |
| goto error; + |
| if (!(_mysql_ProgrammingError = + |
| _mysql_NewException(dict, edict, "ProgrammingError"))) + |
| goto error; + |
| if (!(_mysql_NotSupportedError = + |
| _mysql_NewException(dict, edict, "NotSupportedError"))) + |
| goto error; + |
| if (!(_mysql_NULL = PyBytes_FromString("NULL"))) + |
| goto error; + |
| if (PyDict_SetItemString(dict, "NULL", _mysql_NULL)) goto error; + |
| error: + |
| if (emod) Py_DECREF(emod); + |
| if (PyErr_Occurred()) { + |
| PyErr_SetString(PyExc_ImportError, + |
| "_mysql: init failed"); + |
| if (module) Py_DECREF(module); + |
| module = NULL; + |
| } + |
| #ifdef IS_PY3K + |
| return module; + |
| #endif + |
| } + |
when treating unknown struct MYSQL * from _mysql.c:2987 as non-NULL
when Py_InitModule4TraceRefs_64() succeeds
taking False path
taking False path
when PyRun_StringFlags() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyUnicodeUCS4_FromString() succeeds
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
when PyImport_ImportModule() succeeds
taking False path
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when _mysql_NewException() succeeds
taking False path
when PyString_FromString() succeeds
taking False path
when PyDict_SetItemString() succeeds
taking False path
taking True path
when taking True path
taking False path
PyErr_Occurred()
taking False path
returning
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
new ref from (unknown) PyUnicodeUCS4_FromString allocated at: if (PyDict_SetItemString(dict, "__version__",