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);
}