From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7676 invoked by alias); 2 Sep 2008 15:35:42 -0000 Received: (qmail 7670 invoked by alias); 2 Sep 2008 15:35:42 -0000 X-Spam-Status: No, hits=-0.6 required=5.0 tests=AWL,BAYES_05,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: STABLE2 - 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/STABLE2 X-Git-Reftype: branch X-Git-Oldrev: 75695e0c5cdd2511aef1b52a46dbf69ff95869dc X-Git-Newrev: a012dc47f024f327029865073a41afd573a4b5d0 From: Lon Hohberger Message-Id: <20080902153439.503441203B7@lists.fedorahosted.org> Date: Tue, 02 Sep 2008 15:36: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/msg00362.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=a012dc47f024f327029865073a41afd573a4b5d0 Commit: a012dc47f024f327029865073a41afd573a4b5d0 Parent: 75695e0c5cdd2511aef1b52a46dbf69ff95869dc Author: Lon Hohberger AuthorDate: Tue Sep 2 11:33:18 2008 -0400 Committer: Lon Hohberger CommitterDate: Tue Sep 2 11:34:31 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 6c591f3..6839c95 100644 --- a/cman/qdisk/disk.c +++ b/cman/qdisk/disk.c @@ -209,6 +209,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; } @@ -219,12 +220,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; }