Fix issues found by cpychecker.

This commit is contained in:
behackett 2013-06-25 16:09:44 -07:00
parent 7b16f34b34
commit bd3c23dd9d
2 changed files with 30 additions and 22 deletions

View File

@ -2163,24 +2163,8 @@ init_cbson(void)
PyObject *c_api_object;
static void *_cbson_API[_cbson_API_POINTER_COUNT];
#if PY_MAJOR_VERSION >= 3
m = PyModule_Create(&moduledef);
#else
m = Py_InitModule("_cbson", _CBSONMethods);
#endif
if (m == NULL) {
INITERROR;
}
PyDateTime_IMPORT;
if (PyDateTimeAPI == NULL) {
Py_DECREF(m);
INITERROR;
}
/* Import several python objects */
if (_reload_python_objects(m)) {
Py_DECREF(m);
INITERROR;
}
@ -2196,10 +2180,36 @@ init_cbson(void)
#else
c_api_object = PyCObject_FromVoidPtr((void *) _cbson_API, NULL);
#endif
if (c_api_object == NULL)
INITERROR;
if (c_api_object != NULL) {
PyModule_AddObject(m, "_C_API", c_api_object);
#if PY_MAJOR_VERSION >= 3
m = PyModule_Create(&moduledef);
#else
m = Py_InitModule("_cbson", _CBSONMethods);
#endif
if (m == NULL) {
Py_DECREF(c_api_object);
INITERROR;
}
/* Import several python objects */
if (_reload_python_objects(m)) {
Py_DECREF(c_api_object);
#if PY_MAJOR_VERSION >= 3
Py_DECREF(m);
#endif
INITERROR;
}
if (PyModule_AddObject(m, "_C_API", c_api_object) < 0) {
Py_DECREF(c_api_object);
#if PY_MAJOR_VERSION >= 3
Py_DECREF(m);
#endif
INITERROR;
}
#if PY_MAJOR_VERSION >= 3
return m;
#endif

View File

@ -578,11 +578,9 @@ init_cmessage(void)
INITERROR;
}
#if PY_VERSION_HEX >= 0x03010000
if (PyCapsule_CheckExact(c_api_object))
_cbson_API = (void **)PyCapsule_GetPointer(c_api_object, "_cbson._C_API");
_cbson_API = (void **)PyCapsule_GetPointer(c_api_object, "_cbson._C_API");
#else
if (PyCObject_Check(c_api_object))
_cbson_API = (void **)PyCObject_AsVoidPtr(c_api_object);
_cbson_API = (void **)PyCObject_AsVoidPtr(c_api_object);
#endif
if (_cbson_API == NULL) {
Py_DECREF(c_api_object);