]> granicus.if.org Git - python/commitdiff
Fix reference leak in tb_printinternal()
authorVictor Stinner <victor.stinner@gmail.com>
Sat, 20 Aug 2016 01:05:13 +0000 (03:05 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Sat, 20 Aug 2016 01:05:13 +0000 (03:05 +0200)
Issue #26823.

Python/traceback.c

index 15cde444f40d8740e6c66a6f20c33828102dada7..b33156eaa7902d269f8b440a1456873904892ead 100644 (file)
@@ -435,6 +435,7 @@ tb_printinternal(PyTracebackObject *tb, PyObject *f, long limit)
                         line = PyUnicode_FromFormat(
                         "  [Previous line repeated %d more times]\n", cnt-3);
                         err = PyFile_WriteObject(line, f, Py_PRINT_RAW);
+                        Py_DECREF(line);
                     }
                     last_file = tb->tb_frame->f_code->co_filename;
                     last_line = tb->tb_lineno;
@@ -456,6 +457,7 @@ tb_printinternal(PyTracebackObject *tb, PyObject *f, long limit)
         line = PyUnicode_FromFormat(
         "  [Previous line repeated %d more times]\n", cnt-3);
         err = PyFile_WriteObject(line, f, Py_PRINT_RAW);
+        Py_DECREF(line);
     }
     return err;
 }