summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2017-08-09 13:57:13 +1200
committerGarming Sam <garming@samba.org>2017-08-15 12:00:58 +0200
commit0dbcd6a4eafb75e1d888e71ee0fa74f36cc6af62 (patch)
tree0cbc90a023b565d50ceb9856d4d147f02efe3b81 /source4/librpc/ndr
parent5bb341fb9ceb943b4a72108edee9046b60f070b0 (diff)
downloadsamba-0dbcd6a4eafb75e1d888e71ee0fa74f36cc6af62.tar.gz
py-librpc: Strictly check the type of the incoming sid pointer
This avoids casting another type of object to a void* and then to a SID Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Autobuild-User(master): Garming Sam <garming@samba.org> Autobuild-Date(master): Tue Aug 15 12:00:58 CEST 2017 on sn-devel-144
Diffstat (limited to 'source4/librpc/ndr')
-rw-r--r--source4/librpc/ndr/py_security.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/librpc/ndr/py_security.c b/source4/librpc/ndr/py_security.c
index 4cc25664996..8288748b2be 100644
--- a/source4/librpc/ndr/py_security.c
+++ b/source4/librpc/ndr/py_security.c
@@ -249,6 +249,13 @@ static PyObject *py_descriptor_from_sddl(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "sO!", &sddl, &dom_sid_Type, &py_sid))
return NULL;
+ if (!PyObject_TypeCheck(py_sid, &dom_sid_Type)) {
+ PyErr_SetString(PyExc_TypeError,
+ "expected security.dom_sid "
+ "for second argument to .from_sddl");
+ return NULL;
+ }
+
sid = pytalloc_get_ptr(py_sid);
secdesc = sddl_decode(NULL, sddl, sid);