[polkit/f17] Don't leak file descriptors (bgo #671486)
David Zeuthen
davidz at fedoraproject.org
Thu Mar 8 20:46:33 UTC 2012
commit b0dfcef3702824c405065d171839963ab2eb0306
Author: David Zeuthen <davidz at redhat.com>
Date: Thu Mar 8 15:46:07 2012 -0500
Don't leak file descriptors (bgo #671486)
...tAgentSession-Don-t-leak-file-descriptors.patch | 49 ++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/0001-PolkitAgentSession-Don-t-leak-file-descriptors.patch b/0001-PolkitAgentSession-Don-t-leak-file-descriptors.patch
new file mode 100644
index 0000000..8b860b9
--- /dev/null
+++ b/0001-PolkitAgentSession-Don-t-leak-file-descriptors.patch
@@ -0,0 +1,49 @@
+From 4aa6dd28476e12a5265d71b6bc19c730f1036785 Mon Sep 17 00:00:00 2001
+From: David Zeuthen <davidz at redhat.com>
+Date: Thu, 8 Mar 2012 15:36:30 -0500
+Subject: [PATCH] PolkitAgentSession: Don't leak file descriptors
+
+This was reported here
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=671486
+
+Signed-off-by: David Zeuthen <davidz at redhat.com>
+---
+ src/polkitagent/polkitagentsession.c | 14 ++++++++++++++
+ 1 files changed, 14 insertions(+), 0 deletions(-)
+
+diff --git a/src/polkitagent/polkitagentsession.c b/src/polkitagent/polkitagentsession.c
+index ad3bbc3..8129cd9 100644
+--- a/src/polkitagent/polkitagentsession.c
++++ b/src/polkitagent/polkitagentsession.c
+@@ -130,6 +130,8 @@ G_DEFINE_TYPE (PolkitAgentSession, polkit_agent_session, G_TYPE_OBJECT);
+ static void
+ polkit_agent_session_init (PolkitAgentSession *session)
+ {
++ session->child_stdin = -1;
++ session->child_stdout = -1;
+ }
+
+ static void kill_helper (PolkitAgentSession *session);
+@@ -395,6 +397,18 @@ kill_helper (PolkitAgentSession *session)
+ session->child_stdout_channel = NULL;
+ }
+
++ if (session->child_stdout != -1)
++ {
++ g_warn_if_fail (close (session->child_stdout) == 0);
++ session->child_stdout = -1;
++ }
++
++ if (session->child_stdin != -1)
++ {
++ g_warn_if_fail (close (session->child_stdin) == 0);
++ session->child_stdin = -1;
++ }
++
+ session->helper_is_running = FALSE;
+
+ out:
+--
+1.7.9.1
+
More information about the scm-commits
mailing list