From f47d79fec1b6cbb0d38b9a828cf94202c21e50f8 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 10 Sep 2012 17:46:09 +0200 Subject: Fixed reference leak in error branch of _bufferedreader_read_all(). The variable data can contain a bytes object but it wasn't cleaned up when PyList_New() failed. CID 715364 --- Modules/_io/bufferedio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c index 67b7cc4..334734b 100644 --- a/Modules/_io/bufferedio.c +++ b/Modules/_io/bufferedio.c @@ -1499,8 +1499,10 @@ _bufferedreader_read_all(buffered *self) } chunks = PyList_New(0); - if (chunks == NULL) + if (chunks == NULL) { + Py_XDECREF(data); return NULL; + } while (1) { if (data) { -- cgit v0.12