Jim Fulton writes:
"""
I had originally not realized that PyEval_GetGlobals did not
INCREF it's return value. The fix is to add the INCREF,
as shown below.
"""
diff --git a/Python/import.c b/Python/import.c
index 0bf5d47..2707019 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1858,6 +1858,7 @@
/* Get the builtins from current globals */
globals = PyEval_GetGlobals();
if(globals != NULL) {
+ Py_INCREF(globals);
builtins = PyObject_GetItem(globals, builtins_str);
if (builtins == NULL)
goto err;