]> granicus.if.org Git - python/commitdiff
Two forgotten Py_DECREF() for two out-of-memory conditions.
authorArmin Rigo <arigo@tunes.org>
Tue, 27 Jan 2004 16:08:07 +0000 (16:08 +0000)
committerArmin Rigo <arigo@tunes.org>
Tue, 27 Jan 2004 16:08:07 +0000 (16:08 +0000)
Objects/frameobject.c

index ffe9ec33716ccbfe0fee01f69fe89c0f5a5799fc..1dfded7129f331bc38615247b6c790bdd198498f 100644 (file)
@@ -584,8 +584,10 @@ PyFrame_New(PyThreadState *tstate, PyCodeObject *code, PyObject *globals,
        }
        if (free_list == NULL) {
                f = PyObject_GC_NewVar(PyFrameObject, &PyFrame_Type, extras);
-               if (f == NULL)
+               if (f == NULL) {
+                       Py_DECREF(builtins);
                        return NULL;
+               }
        }
        else {
                assert(numfree > 0);
@@ -594,8 +596,10 @@ PyFrame_New(PyThreadState *tstate, PyCodeObject *code, PyObject *globals,
                free_list = free_list->f_back;
                if (f->ob_size < extras) {
                        f = PyObject_GC_Resize(PyFrameObject, f, extras);
-                       if (f == NULL)
+                       if (f == NULL) {
+                               Py_DECREF(builtins);
                                return NULL;
+                       }
                }
                _Py_NewReference((PyObject *)f);
        }