From: Benjamin Peterson Date: Wed, 1 Jun 2011 02:31:37 +0000 (-0500) Subject: be extra careful with a borrowed reference when the GIL could be released (closes... X-Git-Tag: v3.2.1rc2~100 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5c2b09e856555e34128113ac99758a776f66ce3c;p=thirdparty%2FPython%2Fcpython.git be extra careful with a borrowed reference when the GIL could be released (closes #8578) --- diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c index e4969e36a347..7d12d5ef61f7 100644 --- a/Modules/_sqlite/connection.c +++ b/Modules/_sqlite/connection.c @@ -200,11 +200,13 @@ void pysqlite_do_all_statements(pysqlite_Connection* self, int action, int reset weakref = PyList_GetItem(self->statements, i); statement = PyWeakref_GetObject(weakref); if (statement != Py_None) { + Py_INCREF(statement); if (action == ACTION_RESET) { (void)pysqlite_statement_reset((pysqlite_Statement*)statement); } else { (void)pysqlite_statement_finalize((pysqlite_Statement*)statement); } + Py_DECREF(statement); } }