From: Barry Warsaw Date: Tue, 20 Sep 2011 18:45:44 +0000 (-0400) Subject: - Issue #13021: Missing decref on an error path. Thanks to Suman Saha for X-Git-Tag: v3.2.3rc1~560 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=916048d7807b179cbf839346768516bfdaeadecf;p=thirdparty%2FPython%2Fcpython.git - Issue #13021: Missing decref on an error path. Thanks to Suman Saha for finding the bug and providing a patch. --- diff --git a/Misc/NEWS b/Misc/NEWS index bc52aa8ae983..1d0338524697 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ What's New in Python 3.2.3? Core and Builtins ----------------- +- Issue #13021: Missing decref on an error path. Thanks to Suman Saha for + finding the bug and providing a patch. + - Issue #12973: Fix overflow check that relied on undefined behaviour in list_repeat. This bug caused test_list to fail with recent versions of Clang. diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 084db12f635e..bea7fe154461 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -1241,8 +1241,10 @@ PyRun_SimpleFileExFlags(FILE *fp, const char *filename, int closeit, Py_DECREF(f); return -1; } - if (PyDict_SetItemString(d, "__cached__", Py_None) < 0) + if (PyDict_SetItemString(d, "__cached__", Py_None) < 0) { + Py_DECREF(f); return -1; + } set_file_name = 1; Py_DECREF(f); }