Fix crash setting Euler.order to a non-string
This commit is contained in:
@@ -615,11 +615,14 @@ static PyObject *Euler_order_get(EulerObject *self, void *UNUSED(closure))
|
|||||||
|
|
||||||
static int Euler_order_set(EulerObject *self, PyObject *value, void *UNUSED(closure))
|
static int Euler_order_set(EulerObject *self, PyObject *value, void *UNUSED(closure))
|
||||||
{
|
{
|
||||||
const char *order_str = _PyUnicode_AsString(value);
|
const char *order_str;
|
||||||
short order = euler_order_from_string(order_str, "euler.order");
|
short order;
|
||||||
|
|
||||||
if (order == -1)
|
if (((order_str = _PyUnicode_AsString(value)) == NULL) ||
|
||||||
|
((order = euler_order_from_string(order_str, "euler.order")) == -1))
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
self->order = order;
|
self->order = order;
|
||||||
(void)BaseMath_WriteCallback(self); /* order can be written back */
|
(void)BaseMath_WriteCallback(self); /* order can be written back */
|
||||||
|
Reference in New Issue
Block a user