From 304a9bf110f3ea0325cf8306b3bbe2528403c2a6 Mon Sep 17 00:00:00 2001
Message-Id: <304a9bf110f3ea0325cf8306b3bbe2528403c2a6.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:56 +0200
Subject: [PATCH 091/114] qemu-ga: Plug file descriptor leak on
 ga_open_pidfile() error path

RH-Author: Laszlo Ersek <lersek@redhat.com>
Message-id: <1367868499-27603-34-git-send-email-lersek@redhat.com>
Patchwork-id: 51132
O-Subject: [RHEL-6.5 qemu-kvm PATCH v2 33/56] qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path
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: Markus Armbruster <armbru@redhat.com>

Spotted by Coverity.  Also document why we keep it open on success.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
(cherry picked from commit 03ac10f166b790cb66804e512abec6d002cd8481)
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 qemu-ga.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

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

diff --git a/qemu-ga.c b/qemu-ga.c
index f8f6ac4..d0cce36 100644
--- a/qemu-ga.c
+++ b/qemu-ga.c
@@ -299,10 +299,12 @@ static bool ga_open_pidfile(const char *pidfile)
         goto fail;
     }
 
+    /* keep pidfile open & locked forever */
     return true;
 
 fail:
     unlink(pidfile);
+    close(pidfd);
     return false;
 }
 #else /* _WIN32 */
-- 
1.7.11.7

