From 763c314c32d46bf40bf29ad72c78eeb15d7d990d Mon Sep 17 00:00:00 2001
Message-Id: <763c314c32d46bf40bf29ad72c78eeb15d7d990d.1367947969.git.minovotn@redhat.com>
In-Reply-To: <707b9b97153063374d2530e72c49b1499fc21af9.1367947969.git.minovotn@redhat.com>
References: <707b9b97153063374d2530e72c49b1499fc21af9.1367947969.git.minovotn@redhat.com>
From: Laszlo Ersek <lersek@redhat.com>
Date: Mon, 6 May 2013 19:27:29 +0200
Subject: [PATCH 064/114] qemu-ga: don't leak a file descriptor upon failed
 lockf

RH-Author: Laszlo Ersek <lersek@redhat.com>
Message-id: <1367868499-27603-7-git-send-email-lersek@redhat.com>
Patchwork-id: 51105
O-Subject: [RHEL-6.5 qemu-kvm PATCH v2 06/56] qemu-ga: don't leak a file descriptor upon failed lockf
Bugzilla: 952873
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
RH-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>

From: Jim Meyering <meyering@redhat.com>

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 4144f122b477164cf466ca69be24cf4ef5c218d3)
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 qemu-ga.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

Signed-off-by: Michal Novotny <minovotn@redhat.com>
---
 qemu-ga.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/qemu-ga.c b/qemu-ga.c
index 919170f..366f958 100644
--- a/qemu-ga.c
+++ b/qemu-ga.c
@@ -247,6 +247,9 @@ static bool ga_open_pidfile(const char *pidfile)
     pidfd = open(pidfile, O_CREAT|O_WRONLY, S_IRUSR|S_IWUSR);
     if (pidfd == -1 || lockf(pidfd, F_TLOCK, 0)) {
         g_critical("Cannot lock pid file, %s", strerror(errno));
+        if (pidfd != -1) {
+            close(pidfd);
+        }
         return false;
     }
 
-- 
1.7.11.7

