fix refleak in null-containing error case (#21147)
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index 04fcc5b..5d6263c 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -74,8 +74,9 @@
rc = PYSQLITE_SQL_WRONG_TYPE;
return rc;
}
- sql_cstr = PyString_AsString(sql_str);
+ sql_cstr = PyString_AS_STRING(sql_str);
if (strlen(sql_cstr) != (size_t)PyString_GET_SIZE(sql_str)) {
+ Py_DECREF(sql_str);
PyErr_SetString(PyExc_ValueError, "the query contains a null character");
return PYSQLITE_SQL_WRONG_TYPE;
}