summaryrefslogtreecommitdiffstats
path: root/Python/traceback.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/traceback.c')
-rw-r--r--Python/traceback.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Python/traceback.c b/Python/traceback.c
index f40cfb4..cb568da 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -184,8 +184,12 @@ tb_displayline(PyObject *f, char *filename, int lineno, char *name)
}
PyOS_snprintf(linebuf, sizeof(linebuf), FMT, filename, lineno, name);
err = PyFile_WriteString(linebuf, f);
- if (xfp == NULL || err != 0)
+ if (xfp == NULL)
return err;
+ else if (err != 0) {
+ fclose(xfp);
+ return err;
+ }
for (i = 0; i < lineno; i++) {
char* pLastChar = &linebuf[sizeof(linebuf)-2];
do {