summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Objects/intobject.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Objects/intobject.c b/Objects/intobject.c
index 1d05a63..a8ea6ac 100644
--- a/Objects/intobject.c
+++ b/Objects/intobject.c
@@ -345,8 +345,10 @@ product that must have overflowed.
#define USE_SQ_REPEAT(o) (!PyInt_Check(o) && \
o->ob_type->tp_as_sequence && \
o->ob_type->tp_as_sequence->sq_repeat && \
- (!o->ob_type->tp_as_number || \
- !o->ob_type->tp_as_number->nb_multiply))
+ !(o->ob_type->tp_as_number && \
+ o->ob_type->tp_flags & Py_TPFLAGS_CHECKTYPES && \
+ o->ob_type->tp_as_number->nb_multiply))
+
static PyObject *
int_mul(PyObject *v, PyObject *w)
{