summaryrefslogtreecommitdiffstats
path: root/Modules/_sqlite/connection.c
diff options
context:
space:
mode:
authorZackery Spytz <zspytz@gmail.com>2018-12-17 14:52:45 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2018-12-17 14:52:45 (GMT)
commit842acaab1376c5c84fd5966bb6070e289880e1ca (patch)
treef21283245b7e349d05482b89fde8d570b33c53ab /Modules/_sqlite/connection.c
parent4db62e115891425db2a974142a72d8eaaf95eecb (diff)
downloadcpython-842acaab1376c5c84fd5966bb6070e289880e1ca.zip
cpython-842acaab1376c5c84fd5966bb6070e289880e1ca.tar.gz
cpython-842acaab1376c5c84fd5966bb6070e289880e1ca.tar.bz2
bpo-35504: Fix segfaults and SystemErrors when deleting certain attrs. (GH-11175)
Diffstat (limited to 'Modules/_sqlite/connection.c')
-rw-r--r--Modules/_sqlite/connection.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c
index aab4b1a..e3340bf 100644
--- a/Modules/_sqlite/connection.c
+++ b/Modules/_sqlite/connection.c
@@ -1161,6 +1161,10 @@ static PyObject* pysqlite_connection_get_in_transaction(pysqlite_Connection* sel
static int
pysqlite_connection_set_isolation_level(pysqlite_Connection* self, PyObject* isolation_level, void *Py_UNUSED(ignored))
{
+ if (isolation_level == NULL) {
+ PyErr_SetString(PyExc_AttributeError, "cannot delete attribute");
+ return -1;
+ }
if (isolation_level == Py_None) {
PyObject *res = pysqlite_connection_commit(self, NULL);
if (!res) {