pyldb: py_ldb_dn_get_extended_component() uses PyErr_LDB_DN_OR_RAISE
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Thu, 14 Mar 2024 04:10:17 +0000 (17:10 +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 98e0e4d9c8915cb798d360cbcc1a458607f2ce17..9fb256421fa8a6adf032038211d584a3cb2034a2 100644 (file)
@@ -516,14 +516,16 @@ static PyObject *py_ldb_dn_extended_str(PyObject *self, PyObject *args, PyObject
        return PyUnicode_FromString(ldb_dn_get_extended_linearized(dn, dn, mode));
 }
 
-static PyObject *py_ldb_dn_get_extended_component(PyLdbDnObject *self, PyObject *args)
+static PyObject *py_ldb_dn_get_extended_component(PyObject *self, PyObject *args)
 {
        char *name;
-       const struct ldb_val *val;
+       const struct ldb_val *val = NULL;
+       struct ldb_dn *dn = NULL;
+       PyErr_LDB_DN_OR_RAISE(self, dn);
 
        if (!PyArg_ParseTuple(args, "s", &name))
                return NULL;
-       val = ldb_dn_get_extended_component(self->dn, name);
+       val = ldb_dn_get_extended_component(dn, name);
        if (val == NULL) {
                Py_RETURN_NONE;
        }