[Python-checkins] cpython (merge 3.6 -> default): Issue #27981: Merge from 3.6

berker.peksag python-checkins at python.org
Tue Sep 13 00:39:20 EDT 2016


https://hg.python.org/cpython/rev/e4b16748aca2
changeset:   103732:e4b16748aca2
parent:      103729:222adc394567
parent:      103731:095c77323a6e
user:        Berker Peksag <berker.peksag at gmail.com>
date:        Tue Sep 13 07:40:02 2016 +0300
summary:
  Issue #27981: Merge from 3.6

files:
  Parser/tokenizer.c |  7 +++++--
  1 files changed, 5 insertions(+), 2 deletions(-)


diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -497,7 +497,7 @@
 static int
 fp_setreadl(struct tok_state *tok, const char* enc)
 {
-    PyObject *readline = NULL, *stream = NULL, *io = NULL;
+    PyObject *readline = NULL, *stream = NULL, *io = NULL, *bufobj;
     _Py_IDENTIFIER(open);
     _Py_IDENTIFIER(readline);
     int fd;
@@ -528,9 +528,12 @@
     readline = _PyObject_GetAttrId(stream, &PyId_readline);
     Py_XSETREF(tok->decoding_readline, readline);
     if (pos > 0) {
-        if (PyObject_CallObject(readline, NULL) == NULL) {
+        bufobj = PyObject_CallObject(readline, NULL);
+        if (bufobj == NULL) {
             readline = NULL;
             goto cleanup;
+        } else {
+            Py_DECREF(bufobj);
         }
     }
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list