A Py_DECREF(f) is missing in PyFrame_New for the error case when
the `builtins' initialization fails.  Vladimir Marangozov.
diff --git a/Objects/frameobject.c b/Objects/frameobject.c
index 5d85445..64fc52f 100644
--- a/Objects/frameobject.c
+++ b/Objects/frameobject.c
@@ -204,11 +204,11 @@
 	if (builtins == NULL) {
 		/* No builtins!  Make up a minimal one. */
 		builtins = PyDict_New();
-		if (builtins == NULL)
+		if (builtins == NULL || /* Give them 'None', at least. */
+		    PyDict_SetItemString(builtins, "None", Py_None) < 0) {
+			Py_DECREF(f);
 			return NULL;
-		/* Give them 'None', at least. */
-		if (PyDict_SetItemString(builtins, "None", Py_None) < 0)
-			return NULL;
+		}
 	}
 	else
 		Py_XINCREF(builtins);