From: Douglas Bagnall Date: Thu, 14 Mar 2024 04:26:38 +0000 (+1300) Subject: pyldb: py_ldb_dn_len checks dn and ldb validity X-Git-Tag: tdb-1.4.11~1206 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1bbca1e3b42bb87b65b89129b42cf01dc4937345;p=thirdparty%2Fsamba.git pyldb: py_ldb_dn_len checks dn and ldb validity Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c index 18613f59f2f..386c9478ea4 100644 --- a/lib/ldb/pyldb.c +++ b/lib/ldb/pyldb.c @@ -938,7 +938,12 @@ static PyMethodDef py_ldb_dn_methods[] = { static Py_ssize_t py_ldb_dn_len(PyLdbDnObject *self) { - return ldb_dn_get_comp_num(pyldb_Dn_AS_DN((PyObject *)self)); + struct ldb_dn *dn = pyldb_Dn_AS_DN(self); + if (dn == NULL || self->pyldb->ldb_ctx != ldb_dn_get_ldb_context(dn)) { + return -1; + } + + return ldb_dn_get_comp_num(dn); } /*