Module Name:    src
Committed By:   wiz
Date:           Tue Jan  4 10:14:25 UTC 2011

Modified Files:
        src/usr.sbin/sup/source: scan.c

Log Message:
Fix fd leaks in error cases. Found by cppcheck.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/usr.sbin/sup/source/scan.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/sup/source/scan.c
diff -u src/usr.sbin/sup/source/scan.c:1.27 src/usr.sbin/sup/source/scan.c:1.28
--- src/usr.sbin/sup/source/scan.c:1.27	Sat Oct 17 20:46:03 2009
+++ src/usr.sbin/sup/source/scan.c	Tue Jan  4 10:14:25 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: scan.c,v 1.27 2009/10/17 20:46:03 christos Exp $	*/
+/*	$NetBSD: scan.c,v 1.28 2011/01/04 10:14:25 wiz Exp $	*/
 
 /*
  * Copyright (c) 1992 Carnegie Mellon University
@@ -968,9 +968,9 @@
 	if (scanF == NULL)
 		goto out;
 	if (fprintf(scanF, "V%d\n", SCANVERSION) < 0)
-		goto out;
+		goto closeout;
 	if (Tprocess(listT, recordone, scanF) != SCMOK)
-		goto out;
+		goto closeout;
 	if (fclose(scanF) != 0)
 		goto out;
 	if (rename(tname, fname) < 0) {
@@ -983,6 +983,8 @@
 	tbuf[1].tv_usec = 0;
 	(void) utimes(fname, tbuf);
 	return;
+closeout:
+	(void) fclose(scanF);
 out:
 	goaway("Can't write scan file temp %s for %s", tname, collname);
 }

Reply via email to