mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Issue #7670: sqlite3: Fixed crashes when operating on closed connections.
This commit is contained in:
parent
9482032761
commit
7857650833
3 changed files with 89 additions and 0 deletions
|
@ -690,6 +690,10 @@ PyObject* pysqlite_connection_create_function(pysqlite_Connection* self, PyObjec
|
|||
int narg;
|
||||
int rc;
|
||||
|
||||
if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "siO", kwlist,
|
||||
&name, &narg, &func))
|
||||
{
|
||||
|
@ -719,6 +723,10 @@ PyObject* pysqlite_connection_create_aggregate(pysqlite_Connection* self, PyObje
|
|||
static char *kwlist[] = { "name", "n_arg", "aggregate_class", NULL };
|
||||
int rc;
|
||||
|
||||
if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "siO:create_aggregate",
|
||||
kwlist, &name, &n_arg, &aggregate_class)) {
|
||||
return NULL;
|
||||
|
@ -809,6 +817,10 @@ PyObject* pysqlite_connection_set_authorizer(pysqlite_Connection* self, PyObject
|
|||
static char *kwlist[] = { "authorizer_callback", NULL };
|
||||
int rc;
|
||||
|
||||
if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:set_authorizer",
|
||||
kwlist, &authorizer_cb)) {
|
||||
return NULL;
|
||||
|
@ -834,6 +846,10 @@ PyObject* pysqlite_connection_set_progress_handler(pysqlite_Connection* self, Py
|
|||
|
||||
static char *kwlist[] = { "progress_handler", "n", NULL };
|
||||
|
||||
if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Oi:set_progress_handler",
|
||||
kwlist, &progress_handler, &n)) {
|
||||
return NULL;
|
||||
|
@ -948,6 +964,10 @@ PyObject* pysqlite_connection_call(pysqlite_Connection* self, PyObject* args, Py
|
|||
PyObject* weakref;
|
||||
int rc;
|
||||
|
||||
if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyArg_ParseTuple(args, "O", &sql)) {
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue