]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pyldb: try to turn ldb_string_to_time() errors into exceptions
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 14 Feb 2024 01:22:53 +0000 (14:22 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 29 Feb 2024 04:01:40 +0000 (04:01 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/ldb/pyldb.c

index 5faf5f1fe693a4be06fdb3eb5054f25c6aef5557..23637a6b2a20ddfd85876f6ccee2b79d1172fc07 100644 (file)
@@ -4779,10 +4779,17 @@ static PyObject *py_timestring(PyObject *module, PyObject *args)
 static PyObject *py_string_to_time(PyObject *module, PyObject *args)
 {
        char *str;
-       if (!PyArg_ParseTuple(args, "s", &str))
+       time_t t;
+       if (!PyArg_ParseTuple(args, "s", &str)) {
                return NULL;
+       }
+       t = ldb_string_to_time(str);
 
-       return PyLong_FromLong(ldb_string_to_time(str));
+       if (t == 0 && errno != 0) {
+               PyErr_SetFromErrno(PyExc_ValueError);
+               return NULL;
+       }
+       return PyLong_FromLong(t);
 }
 
 static PyObject *py_valid_attr_name(PyObject *self, PyObject *args)