summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-02-15 01:51:43 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-02-15 01:51:43 (GMT)
commitc66ed457ef5318c56bf5109d0a4be30c6ccee866 (patch)
tree05802a51f49480c42d8c15d88157c8eb0559c109
parentc39cd783fb9277ca98816d375471717aff6c6a74 (diff)
downloadcpython-c66ed457ef5318c56bf5109d0a4be30c6ccee866.zip
cpython-c66ed457ef5318c56bf5109d0a4be30c6ccee866.tar.gz
cpython-c66ed457ef5318c56bf5109d0a4be30c6ccee866.tar.bz2
Issue #13020: Fix a reference leak when allocating a structsequence object fails.
Patch by Suman Saha.
-rw-r--r--Misc/NEWS3
-rw-r--r--Objects/structseq.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 0bfbd38..ba09480 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -9,6 +9,9 @@ What's New in Python 2.7.3?
Core and Builtins
-----------------
+- Issue #13020: Fix a reference leak when allocating a structsequence object
+ fails. Patch by Suman Saha.
+
- Issue #11235: Fix OverflowError when trying to import a source file whose
modification time doesn't fit in a 32-bit timestamp.
diff --git a/Objects/structseq.c b/Objects/structseq.c
index 58e15cb..dcc5457 100644
--- a/Objects/structseq.c
+++ b/Objects/structseq.c
@@ -201,6 +201,7 @@ structseq_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
res = (PyStructSequence*) PyStructSequence_New(type);
if (res == NULL) {
+ Py_DECREF(arg);
return NULL;
}
for (i = 0; i < len; ++i) {