https://github.com/alsa-project/alsa-python/issues/9 https://github.com/alsa-project/alsa-python/pull/10 https://github.com/alsa-project/alsa-python/commit/cb75f5cdba0a29bdfa43eb56285da4917d2941a9 From cb75f5cdba0a29bdfa43eb56285da4917d2941a9 Mon Sep 17 00:00:00 2001 From: Francesco Ceruti Date: Sat, 4 May 2024 22:16:16 +0200 Subject: [PATCH] alsaseq: fix seg. fault when accessing `ConstantObject` extra Closes: https://github.com/alsa-project/alsa-python/pull/10 Signed-off-by: Francesco Ceruti Signed-off-by: Jaroslav Kysela --- a/pyalsa/alsaseq.c +++ b/pyalsa/alsaseq.c @@ -353,18 +353,11 @@ typedef struct { } ConstantObject; #if PY_MAJOR_VERSION < 3 -/* PyInt is fixed size in Python 2 */ # define CONST_VALUE(x) PyInt_AsLong((PyObject *)x) -# define CONST_EXTRA(x) (&(x->extra)) #else -/* PyLong is variable size in Python 3 */ # define CONST_VALUE(x) PyLong_AsLong((PyObject *)x) -# define CONST_EXTRA(x) \ - ((ConstantExtraFields *)( \ - ((intptr_t)(&x->extra)) \ - + abs(Py_SIZE(&x->base)) * Py_TYPE(x)->tp_itemsize \ - )) #endif +# define CONST_EXTRA(x) (&(x->extra)) /** alsaseq.Constant type (initialized later...) */ static PyTypeObject ConstantType;