fix a bug in the previous commit. don't leak empty list on error return and
fix the additional rare (out of memory only) bug that it was supposed to fix of not freeing log_list when the python allocator failed.
This commit is contained in:
parent
3dd20022ac
commit
bad474544c
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue