summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS2
-rw-r--r--Python/import.c3
3 files changed, 5 insertions, 1 deletions
diff --git a/Misc/ACKS b/Misc/ACKS
index bf686f49dd..2fb33823ed 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -127,6 +127,7 @@ Tony Campbell
Brett Cannon
Mike Carlton
Terry Carroll
+Damien Cassou
Lorenzo M. Catucci
Donn Cave
Charles Cazabon
diff --git a/Misc/NEWS b/Misc/NEWS
index 1ac29ff758..29e6dadaa5 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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;
}