Whamcloud - gitweb
Fix file descriptor leak in blkid library in error paths
authorTheodore Ts'o <tytso@mit.edu>
Fri, 24 Mar 2006 03:14:54 +0000 (22:14 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 24 Mar 2006 03:14:54 +0000 (22:14 -0500)
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
lib/blkid/ChangeLog
lib/blkid/probe.c

index d46df09..8b4eea0 100644 (file)
@@ -1,3 +1,7 @@
+2006-03-23  Theodore Ts'o  <tytso@mit.edu>
+
+       * probe.c (blkid_verify): Fix file descriptor leak on error. 
+
 2006-03-19  Theodore Ts'o  <tytso@mit.edu>
 
        * devname.c (dm_probe_all, dm_device_is_leaf): Make the
index 4d78ec2..3ce1e4c 100644 (file)
@@ -770,6 +770,7 @@ blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev)
 
        if (((probe.fd = open(dev->bid_name, O_RDONLY)) < 0) ||
            (fstat(probe.fd, &st) < 0)) {
+               if (probe.fd >= 0) close(fd);
                if (errno == ENXIO || errno == ENODEV || errno == ENOENT) {
                        blkid_free_dev(dev);
                        return NULL;
@@ -837,6 +838,7 @@ try_again:
        }
 
        if (!dev->bid_type) {
+               if (probe.fd >= 0) close(fd);
                blkid_free_dev(dev);
                return NULL;
        }