summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2014-04-11 11:31:17 -0600
committerJens Axboe <axboe@fb.com>2014-04-11 11:31:17 -0600
commitf0cc675fd0a5902f3637a91024082d2d24a665a7 (patch)
treef7bfe9ad8b9a6f1dd33945c9792d6f7f48e93a0d
parentd19cedd63494cf8aef6443fb2ce866cd7a977b98 (diff)
downloadfio-f0cc675fd0a5902f3637a91024082d2d24a665a7.tar.gz
Fix leak of directory handle in find_add_disk_slaves() error case
Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--diskutil.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/diskutil.c b/diskutil.c
index cbde42e9..5170915c 100644
--- a/diskutil.c
+++ b/diskutil.c
@@ -239,6 +239,7 @@ static void find_add_disk_slaves(struct thread_data *td, char *path,
linklen = readlink(temppath, slavepath, PATH_MAX - 1);
if (linklen < 0) {
perror("readlink() for slave device.");
+ closedir(dirhandle);
return;
}
slavepath[linklen] = '\0';
@@ -246,6 +247,7 @@ static void find_add_disk_slaves(struct thread_data *td, char *path,
sprintf(temppath, "%s/%s/dev", slavesdir, slavepath);
if (read_block_dev_entry(temppath, &majdev, &mindev)) {
perror("Error getting slave device numbers.");
+ closedir(dirhandle);
return;
}