]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pyldb: py_ldb_dn_len checks dn and ldb validity
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Thu, 14 Mar 2024 04:26:38 +0000 (17:26 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 10 Apr 2024 05:13:32 +0000 (05:13 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/ldb/pyldb.c

index 18613f59f2f793358cc18b2ed259f976f43a5720..386c9478ea402d7f4cebb54e87aeed335c271684 100644 (file)
@@ -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);
 }
 
 /*