Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.sbin/makefs/cd9660 Fix fd leaks in error cases. Found by...



details:   https://anonhg.NetBSD.org/src/rev/84b68ebf3cd7
branches:  trunk
changeset: 760398:84b68ebf3cd7
user:      wiz <wiz%NetBSD.org@localhost>
date:      Tue Jan 04 09:48:21 2011 +0000

description:
Fix fd leaks in error cases. Found by cppcheck.

diffstat:

 usr.sbin/makefs/cd9660/cd9660_write.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r 05542ee39635 -r 84b68ebf3cd7 usr.sbin/makefs/cd9660/cd9660_write.c
--- a/usr.sbin/makefs/cd9660/cd9660_write.c     Tue Jan 04 09:43:39 2011 +0000
+++ b/usr.sbin/makefs/cd9660/cd9660_write.c     Tue Jan 04 09:48:21 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: cd9660_write.c,v 1.13 2010/10/22 00:49:15 christos Exp $       */
+/*     $NetBSD: cd9660_write.c,v 1.14 2011/01/04 09:48:21 wiz Exp $    */
 
 /*
  * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(__lint)
-__RCSID("$NetBSD: cd9660_write.c,v 1.13 2010/10/22 00:49:15 christos Exp $");
+__RCSID("$NetBSD: cd9660_write.c,v 1.14 2011/01/04 09:48:21 wiz Exp $");
 #endif  /* !__lint */
 
 static int cd9660_write_volume_descriptors(FILE *);
@@ -460,6 +460,7 @@
                if (ferror(rf)) {
                        warn("%s: fread", __func__);
                        free(buf);
+                       (void)fclose(rf);
                        return 0;
                }
 
@@ -467,6 +468,7 @@
                if (ferror(fd)) {
                        warn("%s: fwrite", __func__);
                        free(buf);
+                       (void)fclose(rf);
                        return 0;
                }
                sector++;



Home | Main Index | Thread Index | Old Index