]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pyldb: Fix deleting an ldb.Message dn
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Fri, 24 Sep 2021 23:12:16 +0000 (11:12 +1200)
committerStefan Metzmacher <metze@samba.org>
Thu, 28 Oct 2021 08:58:16 +0000 (08:58 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14845
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14848

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
[abartlet@samba.org backported from commit d7af772de88885f46708329ff7bb5798da91d2c7
 due to conflicts in knownfail.d/python-segfaults]

lib/ldb/pyldb.c
selftest/knownfail.d/python-segfaults

index 7e86f7413c3717d82f31b285c190ecc7a5c74a50..e31d2d083bd1cfca02ad97fa4a4418bb429cae07 100644 (file)
@@ -3741,6 +3741,10 @@ static PyObject *py_ldb_msg_get_dn(PyLdbMessageObject *self, void *closure)
 static int py_ldb_msg_set_dn(PyLdbMessageObject *self, PyObject *value, void *closure)
 {
        struct ldb_message *msg = pyldb_Message_AsMessage(self);
+       if (value == NULL) {
+               PyErr_SetString(PyExc_AttributeError, "cannot delete dn");
+               return -1;
+       }
        if (!pyldb_Dn_Check(value)) {
                PyErr_SetString(PyExc_TypeError, "expected dn");
                return -1;
index c0bd391714b67045b7edb3e15fa42ad5aca0d943..d129dab7d474d0d121521c8529c7701fc90badef 100644 (file)
@@ -1,2 +1,3 @@
 samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_net_replicate_init__3
-samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_ldb_msg_del_dn
+samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_dnsp_string_list
+samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_dns_record