]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix _Py_DisplaySourceLine(), if PyTokenizer_FindEncodingFilename() fails, clear
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 19 Dec 2013 12:39:32 +0000 (13:39 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 19 Dec 2013 12:39:32 +0000 (13:39 +0100)
the exception to not call open() with an exception set.

Python/traceback.c

index e9169ce5e060db79afa7aecee9bdeefbf5181bfc..2ece192db90b3d9ea83cf82d47ee08577b4ac591 100644 (file)
@@ -264,6 +264,8 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent)
         return 0;
     }
     found_encoding = PyTokenizer_FindEncodingFilename(fd, filename);
+    if (found_encoding == NULL)
+        PyErr_Clear();
     encoding = (found_encoding != NULL) ? found_encoding : "utf-8";
     /* Reset position */
     if (lseek(fd, 0, SEEK_SET) == (off_t)-1) {