From cc080742bd29d56f863abcb33f26d1719dacaaf7 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Sun, 15 Nov 2009 14:23:32 +0100 Subject: ldb:python bindings - add a context on "py_ldb_delete" So the converted DN will be freed after usage. --- source4/lib/ldb/pyldb.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'source4') diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c index 901d121ff6..1f1dcf8e31 100644 --- a/source4/lib/ldb/pyldb.c +++ b/source4/lib/ldb/pyldb.c @@ -783,15 +783,23 @@ static PyObject *py_ldb_delete(PyLdbObject *self, PyObject *args) struct ldb_dn *dn; int ret; struct ldb_context *ldb; + TALLOC_CTX *mem_ctx; if (!PyArg_ParseTuple(args, "O", &py_dn)) return NULL; + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + PyErr_NoMemory(); + return NULL; + } ldb = PyLdb_AsLdbContext(self); - - if (!PyObject_AsDn(NULL, py_dn, ldb, &dn)) + if (!PyObject_AsDn(mem_ctx, py_dn, ldb, &dn)) { + talloc_free(mem_ctx); return NULL; + } ret = ldb_delete(ldb, dn); + talloc_free(mem_ctx); PyErr_LDB_ERROR_IS_ERR_RAISE(PyExc_LdbError, ret, ldb); Py_RETURN_NONE; -- cgit