[PATCH] fix segfault in pyldb

Lukas Slebodnik lslebodn at fedoraproject.org
Thu Apr 18 12:16:32 UTC 2019


On (18/04/19 10:54), Douglas Bagnall via samba-technical wrote:
>When we don't give an ldb.MessageElement a name, ldb.Message().add()
>will dereference a NULL pointer. Let's stop that.
>
>These patches passed CI as part of
>https://gitlab.com/samba-team/devel/samba/pipelines/56713222
>
>Douglas

>From afc42a50922f3e13de18d0fdafc73ff86c56cd6b Mon Sep 17 00:00:00 2001
>From: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
>Date: Sat, 13 Apr 2019 11:29:15 +1200
>Subject: [PATCH 1/2] pytest/segfault: segfault with nameless element
>
>Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
>---
> python/samba/tests/segfault.py        | 10 ++++++++++
> selftest/knownfail.d/python-segfaults |  1 +
> 2 files changed, 11 insertions(+)
>
>diff --git a/python/samba/tests/segfault.py b/python/samba/tests/segfault.py
>index 38dcb5c7036..b95c1ef5fa9 100644
>--- a/python/samba/tests/segfault.py
>+++ b/python/samba/tests/segfault.py
It seems to be pure ldb test.

Is there any reason wh it was not added into ldb tests ?
lib/ldb/tests/python

Otherwise nice catch.

>@@ -124,3 +124,13 @@ class SegfaultTests(samba.tests.TestCase):
>             registry.open_ldb('', credentials=42)
>         except ldb.LdbError as e:
>             print("failed with %s" % e)
>+
>+    @segfault_detector
>+    def test_ldb_add_nameless_element(self):
>+        m = ldb.Message()
>+        e = ldb.MessageElement('q')
>+        try:
>+            m.add(e)
>+        except ldb.LdbError:
>+            pass
>+        str(m)
>diff --git a/selftest/knownfail.d/python-segfaults b/selftest/knownfail.d/python-segfaults
>index c8331d941ef..bc2a71610a1 100644
>--- a/selftest/knownfail.d/python-segfaults
>+++ b/selftest/knownfail.d/python-segfaults
>@@ -4,3 +4,4 @@ samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_hive_open_ldb
> samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_net_replicate_chunk_1
> samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_net_replicate_init__1
> samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_net_replicate_init__3
>+samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_ldb_add_nameless_element
>-- 
>2.17.1
>

LS



More information about the samba-technical mailing list