diff Python/traceback.c @ 36877:e9a7a2784e17 legacy-trunk

SF #1444030: Fix several potential defects found by Coverity. (reviewed by Neal Norwitz)
author Hye-Shik Chang <hyeshik@gmail.com>
date Tue, 07 Mar 2006 15:39:21 +0000
parents 30aef3ce2b26
children 3b7b295cca90 f731859e9b3b
line wrap: on
line diff
--- a/Python/traceback.c	Tue Mar 07 14:57:48 2006 +0000
+++ b/Python/traceback.c	Tue Mar 07 15:39:21 2006 +0000
@@ -185,8 +185,12 @@
 	}
 	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 {