summaryrefslogtreecommitdiffstats
path: root/Modules/_sqlite/statement.c
diff options
context:
space:
mode:
authorErlend Egeberg Aasland <erlend.aasland@innova.no>2020-12-27 11:05:33 (GMT)
committerGitHub <noreply@github.com>2020-12-27 11:05:33 (GMT)
commitbf64d9064ab641b1ef9a0c4bda097ebf1204faf4 (patch)
tree087d470d6d608bedff06e712fa7b85ffb59a4359 /Modules/_sqlite/statement.c
parent3ccef1ca474592e191a00e131dfbaf777db271e9 (diff)
downloadcpython-bf64d9064ab641b1ef9a0c4bda097ebf1204faf4.zip
cpython-bf64d9064ab641b1ef9a0c4bda097ebf1204faf4.tar.gz
cpython-bf64d9064ab641b1ef9a0c4bda097ebf1204faf4.tar.bz2
bpo-1635741: sqlite3 uses Py_NewRef/Py_XNewRef (GH-23170)
Diffstat (limited to 'Modules/_sqlite/statement.c')
-rw-r--r--Modules/_sqlite/statement.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index 4682d28..b62de58 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -72,8 +72,7 @@ int pysqlite_statement_create(pysqlite_Statement* self, pysqlite_Connection* con
}
self->in_weakreflist = NULL;
- Py_INCREF(sql);
- self->sql = sql;
+ self->sql = Py_NewRef(sql);
/* Determine if the statement is a DML statement.
SELECT is the only exception. See #9924. */
@@ -240,11 +239,11 @@ void pysqlite_statement_bind_parameters(pysqlite_Statement* self, PyObject* para
}
for (i = 0; i < num_params; i++) {
if (PyTuple_CheckExact(parameters)) {
- current_param = PyTuple_GET_ITEM(parameters, i);
- Py_INCREF(current_param);
+ PyObject *item = PyTuple_GET_ITEM(parameters, i);
+ current_param = Py_NewRef(item);
} else if (PyList_CheckExact(parameters)) {
- current_param = PyList_GetItem(parameters, i);
- Py_XINCREF(current_param);
+ PyObject *item = PyList_GetItem(parameters, i);
+ current_param = Py_XNewRef(item);
} else {
current_param = PySequence_GetItem(parameters, i);
}
@@ -290,8 +289,8 @@ void pysqlite_statement_bind_parameters(pysqlite_Statement* self, PyObject* para
return;
}
if (PyDict_CheckExact(parameters)) {
- current_param = PyDict_GetItemWithError(parameters, binding_name_obj);
- Py_XINCREF(current_param);
+ PyObject *item = PyDict_GetItemWithError(parameters, binding_name_obj);
+ current_param = Py_XNewRef(item);
} else {
current_param = PyObject_GetItem(parameters, binding_name_obj);
}