Skip to content

Commit ea78cfa

Browse files
committed
pythongh-140272: Fix memory leak in _gdbm.gdbm.clear()
1 parent 92025ea commit ea78cfa

2 files changed

Lines changed: 4 additions & 0 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix memory leak in :meth:`_gdbm.gdbm.clear` by properly freeing memory
2+
allocated by ``gdbm_firstkey()``.

‎Modules/_gdbmmodule.c‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -673,8 +673,10 @@ _gdbm_gdbm_clear_impl(gdbmobject *self, PyTypeObject *cls)
673673
}
674674
if (gdbm_delete(self->di_dbm, key) < 0) {
675675
PyErr_SetString(state->gdbm_error, "cannot delete item from database");
676+
free(key.dptr);
676677
return NULL;
677678
}
679+
free(key.dptr);
678680
}
679681
Py_RETURN_NONE;
680682
}

0 commit comments

Comments
 (0)