summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Sutton <josephsutton@catalyst.net.nz>2021-09-25 11:16:09 +1200
committerStefan Metzmacher <metze@samba.org>2021-10-26 12:00:28 +0000
commitd8f30194798a83c27348e4aa5ee5ed7411ae4379 (patch)
treec03d98e3973746e1931e6c0e2ffec166cfbad88d
parent320278f1cfb4ebcd0579d448ff774206a6b94d18 (diff)
downloadsamba-d8f30194798a83c27348e4aa5ee5ed7411ae4379.tar.gz
pyldb: Fix deleting an ldb.Control critical flag
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> (cherry picked from commit 9d25a21d6024c6c2f8e4634f45e3944d8acbf8b8)
-rw-r--r--lib/ldb/pyldb.c4
-rw-r--r--selftest/knownfail.d/python-segfaults1
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c
index e31d2d083bd..ff6c1c6f1ab 100644
--- a/lib/ldb/pyldb.c
+++ b/lib/ldb/pyldb.c
@@ -182,6 +182,10 @@ static PyObject *py_ldb_control_get_critical(PyLdbControlObject *self,
static int py_ldb_control_set_critical(PyLdbControlObject *self, PyObject *value, void *closure)
{
+ if (value == NULL) {
+ PyErr_SetString(PyExc_AttributeError, "cannot delete critical flag");
+ return -1;
+ }
if (PyObject_IsTrue(value)) {
self->data->critical = true;
} else {
diff --git a/selftest/knownfail.d/python-segfaults b/selftest/knownfail.d/python-segfaults
index 0c6e52d63d4..d129dab7d47 100644
--- a/selftest/knownfail.d/python-segfaults
+++ b/selftest/knownfail.d/python-segfaults
@@ -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_control_del_critical