#1480: fix refleak in the sqlite module.
It came from rev 58682. The reason is that PyString_Concat
and PyUnicode_Concat work differently -- the equivalent to
PyString_Concat is PyUnicode_Append.
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c
index d4318de..b6f6492 100644
--- a/Modules/_sqlite/connection.c
+++ b/Modules/_sqlite/connection.c
@@ -806,6 +806,7 @@
{
PyObject* res;
PyObject* begin_statement;
+ static PyObject* begin_word;
Py_XDECREF(self->isolation_level);
@@ -832,11 +833,11 @@
Py_INCREF(isolation_level);
self->isolation_level = isolation_level;
- begin_statement = PyUnicode_FromString("BEGIN ");
- if (!begin_statement) {
- return -1;
+ if (!begin_word) {
+ begin_word = PyUnicode_FromString("BEGIN ");
+ if (!begin_word) return -1;
}
- PyUnicode_Concat(begin_statement, isolation_level);
+ begin_statement = PyUnicode_Concat(begin_word, isolation_level);
if (!begin_statement) {
return -1;
}