From: Armin Rigo Date: Tue, 27 Jan 2004 16:08:07 +0000 (+0000) Subject: Two forgotten Py_DECREF() for two out-of-memory conditions. X-Git-Tag: v2.4a1~893 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=76beca957fbe8cceecabd8e30725b4ea0f0d024f;p=thirdparty%2FPython%2Fcpython.git Two forgotten Py_DECREF() for two out-of-memory conditions. --- diff --git a/Objects/frameobject.c b/Objects/frameobject.c index ffe9ec33716c..1dfded7129f3 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -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); }