diff options
author | Georg Brandl <georg@python.org> | 2007-03-06 12:17:50 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2007-03-06 12:17:50 +0000 |
commit | 098cd69ff9fe8f78753a86d0c17b0c87b0a13587 (patch) | |
tree | ef1a9115db3d9ad3550a8577b5c45729b4a430cb | |
parent | d53d951c240fc070f368c335792a9923e1426c8a (diff) | |
download | cpython-git-098cd69ff9fe8f78753a86d0c17b0c87b0a13587.tar.gz |
Bug #1674503: close the file opened by execfile() in an error condition.
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Python/pythonrun.c | 4 |
2 files changed, 4 insertions, 2 deletions
@@ -12,6 +12,8 @@ What's New in Python 2.6 alpha 1? Core and builtins ----------------- +- Bug #1674503: close the file opened by execfile() in an error condition. + - Patch #1674228: when assigning a slice (old-style), check for the sq_ass_slice instead of the sq_slice slot. diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 98ae1151af..3d0c68f2a7 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -1251,12 +1251,12 @@ PyRun_FileExFlags(FILE *fp, const char *filename, int start, PyObject *globals, mod = PyParser_ASTFromFile(fp, filename, start, 0, 0, flags, NULL, arena); + if (closeit) + fclose(fp); if (mod == NULL) { PyArena_Free(arena); return NULL; } - if (closeit) - fclose(fp); ret = run_mod(mod, filename, globals, locals, flags, arena); PyArena_Free(arena); return ret; |