diff options
author | Neil Brown <neilb@suse.de> | 2008-05-27 09:18:34 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2008-05-27 09:18:34 +1000 |
commit | 355726fa014fb9d656e6af92f0305e55af58de09 (patch) | |
tree | 69e65aea75f361eeb656b8b480897392b467cd0d /sysfs.c | |
parent | 8c21018330e6adc15f347bd7c9e924866b8ca608 (diff) | |
download | mdadm-355726fa014fb9d656e6af92f0305e55af58de09.tar.gz mdadm-355726fa014fb9d656e6af92f0305e55af58de09.tar.xz mdadm-355726fa014fb9d656e6af92f0305e55af58de09.zip |
Remember to close directories when we are finished with them.
Diffstat (limited to 'sysfs.c')
-rw-r--r-- | sysfs.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -92,7 +92,7 @@ struct mdinfo *sysfs_read(int fd, int devnum, unsigned long options) char *dbase; struct mdinfo *sra; struct mdinfo *dev; - DIR *dir; + DIR *dir = NULL; 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); } } + closedir(dir); return sra; abort: + if (dir) + closedir(dir); sysfs_free(sra); return NULL; } |