diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-05-09 13:24:31 +0200 |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-05-09 13:24:31 +0200 |
commit | 284fa08eb783a48f98eabda25aaaebefb5937cce (patch) | |
tree | c9e72f74afdb6b8fa20a86b911c0a9a101c14af4 | |
parent | 5ec0340ce1927a2220a0fc510f2f9968d05917eb (diff) | |
download | cpython-git-284fa08eb783a48f98eabda25aaaebefb5937cce.tar.gz |
Issue #14761: Fix potential leak on an error case in the import machinery.
-rw-r--r-- | Misc/ACKS | 1 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Python/import.c | 3 |
3 files changed, 5 insertions, 1 deletions
@@ -127,6 +127,7 @@ Tony Campbell Brett Cannon Mike Carlton Terry Carroll +Damien Cassou Lorenzo M. Catucci Donn Cave Charles Cazabon @@ -9,6 +9,8 @@ What's New in Python 2.7.4 Core and Builtins ----------------- +- Issue #14761: Fix potential leak on an error case in the import machinery. + - Issue #14699: Fix calling the classmethod descriptor directly. - Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError diff --git a/Python/import.c b/Python/import.c index 108a1e1b07..2f11e756c9 100644 --- a/Python/import.c +++ b/Python/import.c @@ -998,7 +998,7 @@ load_source_module(char *name, char *pathname, FILE *fp) FILE *fpc; char *buf; char *cpathname; - PyCodeObject *co; + PyCodeObject *co = NULL; PyObject *m; if (fstat(fileno(fp), &st) != 0) { @@ -1054,6 +1054,7 @@ load_source_module(char *name, char *pathname, FILE *fp) return m; error_exit: + Py_XDECREF(co); PyMem_FREE(buf); return NULL; } |