pyldb: Fix memory reference error.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 3 Jan 2011 00:43:51 +0000 (01:43 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 3 Jan 2011 01:34:05 +0000 (02:34 +0100)
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Mon Jan  3 02:34:05 CET 2011 on sn-devel-104

source4/lib/ldb/pyldb.c
source4/lib/ldb/tests/python/api.py

index 47d12b928d4ee99c3ab3cd6231315d13b1e64afd..c2d75b43d3e289731e7f5be5662891f667987c6a 100644 (file)
@@ -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;
index cd9651e6f624c76fb5134a58cc16a173cf67e7e0..016ccc3955768baaffad6ef6ea4aaed457691d5f 100755 (executable)
@@ -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):