From 96d80129643a72ea08a4f563054b7c3506b3af0d Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Mon, 30 Mar 2015 10:00:49 +0300 Subject: Issue #23785: Fixed memory leak in TextIOWrapper.tell() in rare circumstances. --- Modules/_io/textio.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c index 65c8d8d..8ac8a4a 100644 --- a/Modules/_io/textio.c +++ b/Modules/_io/textio.c @@ -2338,12 +2338,9 @@ textiowrapper_tell(textio *self, PyObject *args) PyErr_Fetch(&type, &value, &traceback); res = PyObject_CallMethod(self->decoder, "setstate", "(O)", saved_state); + _PyErr_ReplaceException(type, value, traceback); Py_DECREF(saved_state); - if (res == NULL) - return NULL; - Py_DECREF(res); - - PyErr_Restore(type, value, traceback); + Py_XDECREF(res); } return NULL; } -- cgit v0.12