This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

master - cman: Fix qdiskd file descriptor leak


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ecfea14dcceefd01564f42712d81e10cbdea9a76
Commit:        ecfea14dcceefd01564f42712d81e10cbdea9a76
Parent:        56f9df2c8f89be3f012b5aaaad5bdfedae6d8e03
Author:        Lon Hohberger <lhh@redhat.com>
AuthorDate:    Tue Sep 2 11:35:40 2008 -0400
Committer:     Lon Hohberger <lhh@redhat.com>
CommitterDate: Tue Sep 2 11:35:40 2008 -0400

cman: Fix qdiskd file descriptor leak

Patch from Sean E. Millichamp <sean at bruenor dot org>
rhbz#460645
---
 cman/qdisk/disk.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/cman/qdisk/disk.c b/cman/qdisk/disk.c
index f94f12c..972bbf6 100644
--- a/cman/qdisk/disk.c
+++ b/cman/qdisk/disk.c
@@ -203,6 +203,7 @@ qdisk_open(char *name, target_info_t *disk)
 	ret = ioctl(disk->d_fd, BLKSSZGET, &ssz);
 	if (ret < 0) {
 		log_printf(LOG_ERR, "qdisk_open: ioctl(BLKSSZGET)");
+		close(disk->d_fd);
 		return -1;
 	}
 
@@ -213,12 +214,14 @@ qdisk_open(char *name, target_info_t *disk)
 	ret = lseek(disk->d_fd, END_OF_DISK(disk->d_blksz), SEEK_SET);
 	if (ret < 0) {
 		log_printf(LOG_DEBUG, "open_partition: seek");
+		close(disk->d_fd);
 		return -1;
 	}
 
 	if (ret < END_OF_DISK(disk->d_blksz)) {
 		log_printf(LOG_ERR, "Partition %s too small\n", name);
 		errno = EINVAL;
+		close(disk->d_fd);
 		return -1;
 	}
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]