]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pyglue:generate_random_[machine]_password: ValueError for bad values
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 22 Jun 2022 03:21:31 +0000 (15:21 +1200)
committerAndreas Schneider <asn@cryptomilk.org>
Fri, 26 Aug 2022 08:59:28 +0000 (08:59 +0000)
The actual range is 14 to 255 for machine passwords, and there is a
min <= max check for both.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Fri Aug 26 08:59:28 UTC 2022 on sn-devel-184

python/pyglue.c

index dee3c296e034323fbcdcdfd580c413de1ae0e593..60592874ae6467d8bdd7de853fa4b0abe27026bc 100644 (file)
@@ -74,6 +74,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: %d - %d",
+                                    min, max);
+               }
                return NULL;
        }
        ret = PyUnicode_FromString(retstr);
@@ -104,6 +109,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: %d - %d",
+                                    min, max);
+               }
                return NULL;
        }
        ret = PyUnicode_FromString(retstr);