diff options
-rw-r--r-- | Objects/object.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Objects/object.c b/Objects/object.c index 99fea99..f61a1dd 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -371,12 +371,14 @@ static PyObject * make_pair(PyObject *v, PyObject *w) { PyObject *pair; + Py_uintptr_t iv = (Py_uintptr_t)v; + Py_uintptr_t iw = (Py_uintptr_t)w; pair = PyTuple_New(2); if (pair == NULL) { return NULL; } - if (v <= w) { + if (iv <= iw) { PyTuple_SET_ITEM(pair, 0, PyLong_FromVoidPtr((void *)v)); PyTuple_SET_ITEM(pair, 1, PyLong_FromVoidPtr((void *)w)); } else { @@ -487,7 +489,9 @@ PyObject_Compare(PyObject *v, PyObject *w) return strcmp(vname, wname); } if (vtp->tp_compare == NULL) { - return (v < w) ? -1 : 1; + Py_uintptr_t iv = (Py_uintptr_t)v; + Py_uintptr_t iw = (Py_uintptr_t)w; + return (iv < iw) ? -1 : 1; } _PyCompareState_nesting++; if (_PyCompareState_nesting > NESTING_LIMIT |