Backport my checkin of revision 2.264 of Python/compile.c:

Clamp code objects' tp_compare result to [-1, 1].

Bugfix candidate.
This commit is contained in:
Michael W. Hudson
2002-10-07 11:30:07 +00:00
parent c01f360a4a
commit 51e80dfd02

View File

@@ -133,11 +133,11 @@ code_compare(PyCodeObject *co, PyCodeObject *cp)
cmp = PyObject_Compare(co->co_name, cp->co_name);
if (cmp) return cmp;
cmp = co->co_argcount - cp->co_argcount;
if (cmp) return cmp;
if (cmp) return (cmp<0)?-1:1;
cmp = co->co_nlocals - cp->co_nlocals;
if (cmp) return cmp;
if (cmp) return (cmp<0)?-1:1;
cmp = co->co_flags - cp->co_flags;
if (cmp) return cmp;
if (cmp) return (cmp<0)?-1:1;
cmp = PyObject_Compare(co->co_code, cp->co_code);
if (cmp) return cmp;
cmp = PyObject_Compare(co->co_consts, cp->co_consts);