Issue #4046: Backport of issue #3312's patch: fixes two crashes in the sqlite3
module.
diff --git a/Modules/_sqlite/module.c b/Modules/_sqlite/module.c
index 606454c..bfaf730 100644
--- a/Modules/_sqlite/module.c
+++ b/Modules/_sqlite/module.c
@@ -128,12 +128,15 @@
{
PyTypeObject* type;
PyObject* caster;
+ int rc;
if (!PyArg_ParseTuple(args, "OO", &type, &caster)) {
return NULL;
}
- microprotocols_add(type, (PyObject*)&SQLitePrepareProtocolType, caster);
+ rc = microprotocols_add(type, (PyObject*)&SQLitePrepareProtocolType, caster);
+ if (rc == -1)
+ return NULL;
Py_INCREF(Py_None);
return Py_None;