pyglue: Raise an exception on error
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Tue, 9 May 2023 03:31:43 +0000 (15:31 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 24 May 2023 00:50:31 +0000 (00:50 +0000)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/pyglue.c

index b320a0b348d0b693fb17d52585cc5e670aeeb01d..90c3d6e28955ef07e2acf4da05c22a388077d117 100644 (file)
@@ -79,11 +79,11 @@ static PyObject *py_generate_random_password(PyObject *self, PyObject *args)
        retstr = generate_random_password(NULL, min, max);
        if (retstr == NULL) {
                if (errno == EINVAL) {
-                       PyErr_Format(PyExc_ValueError,
-                                    "invalid range: %zd - %zd",
-                                    min, max);
+                       return PyErr_Format(PyExc_ValueError,
+                                           "invalid range: %zd - %zd",
+                                           min, max);
                }
-               return NULL;
+               return PyErr_NoMemory();
        }
        ret = PyUnicode_FromString(retstr);
        talloc_free(retstr);
@@ -114,11 +114,11 @@ static PyObject *py_generate_random_machine_password(PyObject *self, PyObject *a
        retstr = generate_random_machine_password(NULL, min, max);
        if (retstr == NULL) {
                if (errno == EINVAL) {
-                       PyErr_Format(PyExc_ValueError,
-                                    "invalid range: %zd - %zd",
-                                    min, max);
+                       return PyErr_Format(PyExc_ValueError,
+                                           "invalid range: %zd - %zd",
+                                           min, max);
                }
-               return NULL;
+               return PyErr_NoMemory();
        }
        ret = PyUnicode_FromString(retstr);
        talloc_free(retstr);
@@ -357,7 +357,7 @@ static PyObject *py_interface_ips(PyObject *self, PyObject *args)
        lp_ctx = lpcfg_from_py_object(tmp_ctx, py_lp_ctx);
        if (lp_ctx == NULL) {
                talloc_free(tmp_ctx);
-               return NULL;
+               return PyErr_NoMemory();
        }
 
        load_interface_list(tmp_ctx, lp_ctx, &ifaces);