diff options
author | Douglas Bagnall <douglas.bagnall@catalyst.net.nz> | 2018-04-13 12:29:05 +1200 |
---|---|---|
committer | Douglas Bagnall <dbagnall@samba.org> | 2018-05-03 05:25:28 +0200 |
commit | 1b3d3304e5a55dbc4353ddade82da43e079e33ed (patch) | |
tree | ae6b2cb4e69d923537650c16dd1f708df8ca82fc /libgpo | |
parent | a82ca08f37658069aa547a98344b48aaf6b4a270 (diff) | |
download | samba-1b3d3304e5a55dbc4353ddade82da43e079e33ed.tar.gz |
python.gpo.ADS_STRUCT: check type of loadparm argument
And add a test showning the segfault.
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'libgpo')
-rw-r--r-- | libgpo/pygpo.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libgpo/pygpo.c b/libgpo/pygpo.c index db336021125..60220a6bc2a 100644 --- a/libgpo/pygpo.c +++ b/libgpo/pygpo.c @@ -183,7 +183,14 @@ static int py_ads_init(ADS *self, PyObject *args, PyObject *kwds) } if (lp_obj) { - bool ok; + bool ok = py_check_dcerpc_type(lp_obj, "samba.param", + "LoadParm"); + if (!ok) { + PyErr_Format(PyExc_TypeError, + "Expected samba.param.LoadParm " + "for lp argument"); + return -1; + } lp_ctx = pytalloc_get_type(lp_obj, struct loadparm_context); if (lp_ctx == NULL) { return -1; |