Fix crash setting Euler.order to a non-string

This commit is contained in:
Campbell Barton
2015-02-15 11:37:23 +11:00
parent bf157ce927
commit 24f9ed0b34

View File

@@ -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 */