summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/_bsddb.c11
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) {