]> 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)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 28 Sep 2021 09:44:35 +0000 (09:44 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14845

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/ldb/pyldb.c
selftest/knownfail.d/python-segfaults

index f1538b37c6b069cebaabd8feaba2eaf7105b32ef..ed62a3965306b6e35441a689bebcec2bf5c9f2a1 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 3b236738942e658438c67855876e5d26ffd54a2f..d129dab7d474d0d121521c8529c7701fc90badef 100644 (file)
@@ -1,4 +1,3 @@
 samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_net_replicate_init__3
 samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_dnsp_string_list
 samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_dns_record
-samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_ldb_msg_del_dn