From 5112961e7829f2730e2dce6678897943a77bc360 Mon Sep 17 00:00:00 2001 From: Manuel Gunther <siebenkopf@googlemail.com> Date: Thu, 3 Dec 2015 11:12:41 -0700 Subject: [PATCH] Corrected error cases in module creation --- bob/math/main.cpp | 6 ++++-- bob/math/version.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/bob/math/main.cpp b/bob/math/main.cpp index 44452cb..762d283 100644 --- a/bob/math/main.cpp +++ b/bob/math/main.cpp @@ -116,11 +116,13 @@ static PyObject* create_module (void) { # if PY_VERSION_HEX >= 0x03000000 PyObject* m = PyModule_Create(&module_definition); + auto m_ = make_xsafe(m); + const char* ret = "O"; # else PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr); + const char* ret = "N"; # endif if (!m) return 0; - auto m_ = make_safe(m); ///< protects against early returns /* register the types to python */ if (!init_BobMathLpInteriorPoint(m)) return 0; @@ -129,7 +131,7 @@ static PyObject* create_module (void) { if (import_bob_blitz() < 0) return 0; if (import_bob_core_logging() < 0) return 0; - return Py_BuildValue("O", m); + return Py_BuildValue(ret, m); } PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) { diff --git a/bob/math/version.cpp b/bob/math/version.cpp index 537bae6..0e9cf8a 100644 --- a/bob/math/version.cpp +++ b/bob/math/version.cpp @@ -51,11 +51,13 @@ static PyObject* create_module (void) { # if PY_VERSION_HEX >= 0x03000000 PyObject* m = PyModule_Create(&module_definition); + auto m_ = make_xsafe(m); + const char* ret = "O"; # else PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr); + const char* ret = "N"; # endif if (!m) return 0; - auto m_ = make_safe(m); ///< protects against early returns /* register version numbers and constants */ if (PyModule_AddStringConstant(m, "module", BOB_EXT_MODULE_VERSION) < 0) return 0; @@ -65,7 +67,7 @@ static PyObject* create_module (void) { if (!externals) return 0; if (PyModule_AddObject(m, "externals", externals) < 0) return 0; - return Py_BuildValue("O", m); + return Py_BuildValue(ret, m); } PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) { -- GitLab