From: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Date: Fri, 21 Feb 2025 14:59:04 +0000 (+0100) Subject: gh-111178: fix UBSan failures in `Modules/_randommodule.c` (GH-129791) X-Git-Tag: v3.14.0a6~322 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=29224295381d9c038339d25d98584cb146ba5f32;p=thirdparty%2FPython%2Fcpython.git gh-111178: fix UBSan failures in `Modules/_randommodule.c` (GH-129791) Fix UBSan failures for `RandomObject` Suppress unused return values --- diff --git a/Modules/_randommodule.c b/Modules/_randommodule.c index ad66df47349d..d5bac2f5b781 100644 --- a/Modules/_randommodule.c +++ b/Modules/_randommodule.c @@ -117,6 +117,7 @@ typedef struct { uint32_t state[N]; } RandomObject; +#define RandomObject_CAST(op) ((RandomObject *)(op)) #include "clinic/_randommodule.c.h" @@ -551,7 +552,7 @@ _random_Random_getrandbits_impl(RandomObject *self, int k) } static int -random_init(RandomObject *self, PyObject *args, PyObject *kwds) +random_init(PyObject *self, PyObject *args, PyObject *kwds) { PyObject *arg = NULL; _randomstate *state = _randomstate_type(Py_TYPE(self)); @@ -570,7 +571,7 @@ random_init(RandomObject *self, PyObject *args, PyObject *kwds) if (PyTuple_GET_SIZE(args) == 1) arg = PyTuple_GET_ITEM(args, 0); - return random_seed(self, arg); + return random_seed(RandomObject_CAST(self), arg); } @@ -665,7 +666,7 @@ _random_clear(PyObject *module) static void _random_free(void *module) { - _random_clear((PyObject *)module); + (void)_random_clear((PyObject *)module); } static struct PyModuleDef _randommodule = {