From ec1e56989b214376aa1c0a00368ffac11432cb94 Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Thu, 3 May 2018 10:26:26 +1200 Subject: [PATCH] pygensec: insist on proper AuthContext in start_server Fixes another segfault. Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- selftest/knownfail.d/python-segfaults | 1 - source4/auth/gensec/pygensec.c | 10 +++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/selftest/knownfail.d/python-segfaults b/selftest/knownfail.d/python-segfaults index c4f83f36a12..c8331d941ef 100644 --- a/selftest/knownfail.d/python-segfaults +++ b/selftest/knownfail.d/python-segfaults @@ -1,6 +1,5 @@ samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_auth_user_session samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_encrypt_netr_crypt_password -samba.tests.segfault.samba.tests.segfault.SegfaultTests.test_gensec_start_server 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 diff --git a/source4/auth/gensec/pygensec.c b/source4/auth/gensec/pygensec.c index d27fe28648a..d8f782f8d19 100644 --- a/source4/auth/gensec/pygensec.c +++ b/source4/auth/gensec/pygensec.c @@ -176,7 +176,15 @@ static PyObject *py_gensec_start_server(PyTypeObject *type, PyObject *args, PyOb } if (py_auth_context != Py_None) { - auth_context = pytalloc_get_type(py_auth_context, struct auth4_context); + bool ok = py_check_dcerpc_type(py_auth_context, + "samba.auth", + "AuthContext"); + if (!ok) { + return NULL; + } + + auth_context = pytalloc_get_type(py_auth_context, + struct auth4_context); if (!auth_context) { PyErr_Format(PyExc_TypeError, "Expected auth.AuthContext for auth_context argument, got %s", -- 2.34.1