Check return value of PyObject_AsFileDescriptor() in _Py_DisplaySourceLine() for error
CID 486768
diff --git a/Python/traceback.c b/Python/traceback.c
index b928902..c37aab0 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -255,6 +255,11 @@
/* 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 */