From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7324 invoked by alias); 2 Sep 2008 15:34:57 -0000 Received: (qmail 7315 invoked by alias); 2 Sep 2008 15:34:57 -0000 X-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_00,KAM_MX,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on bastion.fedora.phx.redhat.com X-Spam-Level: Subject: RHEL5 - cman: Fix qdiskd file descriptor leak To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/RHEL5 X-Git-Reftype: branch X-Git-Oldrev: e9fec5cf0724fa209b0c0dc39e71a2c5ac72f36d X-Git-Newrev: d5f2ef1b10bc529ba989781215b48c688b2c42b4 From: Lon Hohberger Message-Id: <20080902153342.1CE1D1203B7@lists.fedorahosted.org> Date: Tue, 02 Sep 2008 15:35:00 -0000 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2008-q3/txt/msg00361.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=d5f2ef1b10bc529ba989781215b48c688b2c42b4 Commit: d5f2ef1b10bc529ba989781215b48c688b2c42b4 Parent: e9fec5cf0724fa209b0c0dc39e71a2c5ac72f36d Author: Lon Hohberger AuthorDate: Tue Sep 2 11:33:18 2008 -0400 Committer: Lon Hohberger CommitterDate: Tue Sep 2 11:33:18 2008 -0400 cman: Fix qdiskd file descriptor leak Patch from Sean E. Millichamp 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 f3222ed..8cf7b5a 100644 --- a/cman/qdisk/disk.c +++ b/cman/qdisk/disk.c @@ -228,6 +228,7 @@ qdisk_open(char *name, target_info_t *disk) ret = ioctl(disk->d_fd, BLKSSZGET, &ssz); if (ret < 0) { perror("qdisk_open: ioctl(BLKSSZGET)"); + close(disk->d_fd); return -1; } @@ -238,12 +239,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) { perror("open_partition: seek"); + close(disk->d_fd); return -1; } if (ret < END_OF_DISK(disk->d_blksz)) { fprintf(stderr, "Partition %s too small\n", name); errno = EINVAL; + close(disk->d_fd); return -1; }