diff -r b53b029895df Python/ceval.c --- a/Python/ceval.c Mon Feb 11 00:28:02 2013 +0000 +++ b/Python/ceval.c Mon Feb 11 15:44:33 2013 -0800 @@ -3252,8 +3252,14 @@ } for (i = start; i < end; i++) { if (GETLOCAL(i) == NULL) { - PyObject *raw = PyTuple_GET_ITEM(co->co_varnames, i); - PyObject *name = PyObject_Repr(raw); + PyObject *raw; + PyObject *name; + if (PyTuple_GET_SIZE(co->co_varnames) <= i) { + Py_DECREF(missing_names); + return; + } + raw = PyTuple_GET_ITEM(co->co_varnames, i); + name = PyObject_Repr(raw); if (name == NULL) { Py_DECREF(missing_names); return;