From: Douglas Bagnall Date: Fri, 15 Mar 2024 04:15:28 +0000 (+1300) Subject: pldb: py_ldb_msg_items uses PyErr_LDB_MESSAGE_OR_RAISE X-Git-Tag: tdb-1.4.11~1198 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a2e6139ad00de95eaf89ff44939f2d680f07f03;p=thirdparty%2Fsamba.git pldb: py_ldb_msg_items uses PyErr_LDB_MESSAGE_OR_RAISE Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c index 874168b0564..ac136619e6a 100644 --- a/lib/ldb/pyldb.c +++ b/lib/ldb/pyldb.c @@ -3847,18 +3847,22 @@ static PyObject *py_ldb_msg_get(PyObject *self, PyObject *args, PyObject *kwargs return PyObject_FromLdbValue(&el->values[idx]); } -static PyObject *py_ldb_msg_items(PyLdbMessageObject *self, +static PyObject *py_ldb_msg_items(PyObject *self, PyObject *Py_UNUSED(ignored)) { - struct ldb_message *msg = pyldb_Message_AsMessage(self); + struct ldb_message *msg = NULL; Py_ssize_t i, j = 0; - PyObject *l = PyList_New(msg->num_elements + (msg->dn == NULL?0:1)); + PyObject *l = NULL; + + PyErr_LDB_MESSAGE_OR_RAISE(self, msg); + + l = PyList_New(msg->num_elements + (msg->dn == NULL?0:1)); if (l == NULL) { return PyErr_NoMemory(); } if (msg->dn != NULL) { PyObject *value = NULL; - PyObject *obj = pyldb_Dn_FromDn(msg->dn, self->pyldb); + PyObject *obj = pyldb_Dn_FromDn(msg->dn, pyldb_Message_get_pyldb(self)); int res = 0; value = Py_BuildValue("(sO)", "dn", obj); Py_CLEAR(obj);