From 22b7cb3f2905375b5a9d88d9309062ceec658540 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 3 Jan 2011 01:43:51 +0100 Subject: pyldb: Fix memory reference error. Autobuild-User: Jelmer Vernooij Autobuild-Date: Mon Jan 3 02:34:05 CET 2011 on sn-devel-104 --- source4/lib/ldb/pyldb.c | 4 ++-- source4/lib/ldb/tests/python/api.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'source4') diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c index 47d12b928d..c2d75b43d3 100644 --- a/source4/lib/ldb/pyldb.c +++ b/source4/lib/ldb/pyldb.c @@ -1959,7 +1959,7 @@ static PyObject *py_ldb_msg_element_new(PyTypeObject *type, PyObject *args, PyOb return NULL; } el->values[i].length = PyString_Size(item); - el->values[i].data = talloc_memdup(el, + el->values[i].data = talloc_memdup(el, (uint8_t *)PyString_AsString(item), el->values[i].length+1); } } else { @@ -2187,7 +2187,7 @@ static PyObject *py_ldb_msg_add(PyLdbMessageObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "O!", &PyLdbMessageElement, &py_element)) return NULL; - el = talloc_reference(msg, py_element->mem_ctx); + el = talloc_reference(msg, py_element->el); if (el == NULL) { PyErr_NoMemory(); return NULL; diff --git a/source4/lib/ldb/tests/python/api.py b/source4/lib/ldb/tests/python/api.py index cd9651e6f6..016ccc3955 100755 --- a/source4/lib/ldb/tests/python/api.py +++ b/source4/lib/ldb/tests/python/api.py @@ -607,6 +607,10 @@ class MessageElementTests(unittest.TestCase): y = ldb.MessageElement(["foo"]) self.assertEquals(y, x) + def test_extended(self): + el = ldb.MessageElement(["456"], ldb.FLAG_MOD_ADD, "bla") + self.assertEquals("MessageElement(['456'])", repr(el)) + class ModuleTests(unittest.TestCase): -- cgit