diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/lib/ldb/pyldb.c | 4 | ||||
-rwxr-xr-x | source4/lib/ldb/tests/python/api.py | 4 |
2 files changed, 6 insertions, 2 deletions
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): |