]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Remember to close directories when we are finished with them.
authorNeil Brown <neilb@suse.de>
Mon, 26 May 2008 23:18:34 +0000 (09:18 +1000)
committerNeil Brown <neilb@suse.de>
Mon, 26 May 2008 23:18:34 +0000 (09:18 +1000)
sysfs.c
util.c

diff --git a/sysfs.c b/sysfs.c
index 87d314c1ffcc85b39454891ac44f82c5cdf17383..ea7d52f6c025be17a47a1774e3bd5bec843fe261 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -92,7 +92,7 @@ struct mdinfo *sysfs_read(int fd, int devnum, unsigned long options)
        char *dbase;
        struct mdinfo *sra;
        struct mdinfo *dev;
        char *dbase;
        struct mdinfo *sra;
        struct mdinfo *dev;
-       DIR *dir;
+       DIR *dir = NULL;
        struct dirent *de;
 
        sra = malloc(sizeof(*sra));
        struct dirent *de;
 
        sra = malloc(sizeof(*sra));
@@ -253,9 +253,12 @@ struct mdinfo *sysfs_read(int fd, int devnum, unsigned long options)
                        dev->errors = strtoul(buf, NULL, 0);
                }
        }
                        dev->errors = strtoul(buf, NULL, 0);
                }
        }
+       closedir(dir);
        return sra;
 
  abort:
        return sra;
 
  abort:
+       if (dir)
+               closedir(dir);
        sysfs_free(sra);
        return NULL;
 }
        sysfs_free(sra);
        return NULL;
 }
diff --git a/util.c b/util.c
index 8e4e60d3bc8ebee09a6a212d615f61eeb2c77c21..d026c3026430f1098aa7604816485be347e63d52 100644 (file)
--- a/util.c
+++ b/util.c
@@ -982,6 +982,7 @@ int open_container(int fd)
                        return dfd;
                }
        }
                        return dfd;
                }
        }
+       closedir(dir);
        return -1;
 }
 
        return -1;
 }