From 8c077bc03e3d69404e826a45f5add1f08b85d9a7 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Sun, 21 Jul 2013 01:53:10 +0200 Subject: [PATCH] Check return value of PyObject_AsFileDescriptor() in _Py_DisplaySourceLine() for error CID 486768 --- Python/traceback.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Python/traceback.c b/Python/traceback.c index b928902ef0..c37aab0a9c 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -255,6 +255,11 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent) /* use the right encoding to decode the file as unicode */ fd = PyObject_AsFileDescriptor(binary); + if (fd < 0) { + Py_DECREF(io); + Py_DECREF(binary); + return NULL; + } found_encoding = PyTokenizer_FindEncodingFilename(fd, filename); encoding = (found_encoding != NULL) ? found_encoding : "utf-8"; lseek(fd, 0, 0); /* Reset position */ -- 2.40.0