diff options
| -rw-r--r-- | Modules/_bsddb.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c index 2df73fe..aad4d1f 100644 --- a/Modules/_bsddb.c +++ b/Modules/_bsddb.c @@ -4378,10 +4378,6 @@ DBEnv_log_archive(DBEnvObject* self, PyObject* args) if (!PyArg_ParseTuple(args, "|i:log_archive", &flags)) return NULL; - list = PyList_New(0); - if (list == NULL) - return NULL; - CHECK_ENV_NOT_CLOSED(self); MYDB_BEGIN_ALLOW_THREADS; #if (DBVER >= 40) @@ -4394,6 +4390,13 @@ DBEnv_log_archive(DBEnvObject* self, PyObject* args) MYDB_END_ALLOW_THREADS; RETURN_IF_ERR(); + list = PyList_New(0); + if (list == NULL) { + if (log_list) + free(log_list); + return NULL; + } + if (log_list) { char **log_list_start; for (log_list_start = log_list; *log_list != NULL; ++log_list) { |
