From: Douglas Bagnall Date: Tue, 9 Jul 2019 09:44:12 +0000 (+0000) Subject: talloc: pytalloc_get_checked_type: survive non-talloc objects X-Git-Tag: talloc-2.3.0~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dc20e7c6df7a230c3b3cd9ae7de79e4cacc36eb4;p=thirdparty%2Fsamba.git talloc: pytalloc_get_checked_type: survive non-talloc objects If the python object is not a talloc object, we will end up with a NULL pointer. We weren't checking for that properly Signed-off-by: Douglas Bagnall Reviewed-by: Gary Lockyer Reviewed-by: Andrew Bartlett --- diff --git a/lib/talloc/pytalloc_util.c b/lib/talloc/pytalloc_util.c index 82b95e7f144..4193ca895ce 100644 --- a/lib/talloc/pytalloc_util.c +++ b/lib/talloc/pytalloc_util.c @@ -247,7 +247,7 @@ static void *_pytalloc_get_checked_type(PyObject *py_obj, const char *type_name, mem_ctx = _pytalloc_get_mem_ctx(py_obj); ptr = _pytalloc_get_ptr(py_obj); - if (mem_ctx != ptr) { + if (mem_ctx != ptr || ptr == NULL) { if (check_only) { return NULL; } diff --git a/selftest/knownfail.d/python-segfaults b/selftest/knownfail.d/python-segfaults index 42f83f8b8b9..76fc645c2b6 100644 --- a/selftest/knownfail.d/python-segfaults +++ b/selftest/knownfail.d/python-segfaults @@ -1,4 +1,2 @@ samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_encrypt_netr_crypt_password -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__3