Commit dbe97b38 authored by Guido van Rossum's avatar Guido van Rossum

Fix bug #1517, a possible segfault in lookup().

parent 14fbf296
......@@ -272,7 +272,9 @@ lookdict(dictobject *mp, PyObject *key, register long hash)
else {
if (ep->me_hash == hash) {
startkey = ep->me_key;
Py_INCREF(startkey);
cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);
Py_DECREF(startkey);
if (cmp < 0)
return NULL;
if (ep0 == mp->ma_table && ep->me_key == startkey) {
......@@ -302,7 +304,9 @@ lookdict(dictobject *mp, PyObject *key, register long hash)
return ep;
if (ep->me_hash == hash && ep->me_key != dummy) {
startkey = ep->me_key;
Py_INCREF(startkey);
cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);
Py_DECREF(startkey);
if (cmp < 0)
return NULL;
if (ep0 == mp->ma_table && ep->me_key == startkey) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment