From: Andrew Bartlett Date: Thu, 7 Mar 2024 02:34:37 +0000 (+1300) Subject: s4-libnet: Raise NTSTATUSError not RuntimeError in keytab export X-Git-Tag: tdb-1.4.11~1450 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=014f1b561e823b037c58cd156f96c0e6ef953290;p=thirdparty%2Fsamba.git s4-libnet: Raise NTSTATUSError not RuntimeError in keytab export We should never raise RuntimeError if we have a better option. Signed-off-by: Andrew Bartlett Reviewed-by: Jo Sutton --- diff --git a/source4/libnet/py_net_dckeytab.c b/source4/libnet/py_net_dckeytab.c index 597b30b42fd..a50f575679d 100644 --- a/source4/libnet/py_net_dckeytab.c +++ b/source4/libnet/py_net_dckeytab.c @@ -27,6 +27,7 @@ #include "py_net.h" #include "libnet_export_keytab.h" #include "pyldb.h" +#include "libcli/util/pyerrors.h" void initdckeytab(void); @@ -72,9 +73,12 @@ static PyObject *py_net_export_keytab(py_net_Object *self, PyObject *args, PyObj } status = libnet_export_keytab(self->libnet_ctx, mem_ctx, &r); - if (NT_STATUS_IS_ERR(status)) { - PyErr_SetString(PyExc_RuntimeError, - r.out.error_string?r.out.error_string:nt_errstr(status)); + + if (!NT_STATUS_IS_OK(status)) { + PyErr_SetNTSTATUS_and_string(status, + r.out.error_string + ? r.out.error_string + : nt_errstr(status)); talloc_free(mem_ctx); return NULL; }