about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2015-11-25 14:32:24 +0100
committerMichael Biebl <biebl@debian.org>2015-11-25 14:32:27 +0100
commit9ce0a27d4fec6387fd44c4db370c3fa20f84a223 (patch)
tree724c05de787c02d5918cb8ec7685984220a5733b
parent5b0cf807a6d6f6f507c9658d6368a8da8df178b9 (diff)
Check errors of polkit_unix_session_new_for_process_sync()
Patch cherry-picked from upstream Git.
-rw-r--r--debian/changelog2
-rw-r--r--debian/patches/clients-check-errors-of-polkit_unix_session_new_for_proce.patch33
-rw-r--r--debian/patches/series1
3 files changed, 36 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 44e0761a..b796baf1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ network-manager (1.0.8-1) UNRELEASED; urgency=medium
       (Closes: #794237)
   * Rebase patches.
   * Install new nm-versions-macros.h header file.
+  * Check errors of polkit_unix_session_new_for_process_sync(). Patch
+    cherry-picked from upstream Git.
 
  -- Michael Biebl <biebl@debian.org>  Tue, 24 Nov 2015 00:06:51 +0100
 
diff --git a/debian/patches/clients-check-errors-of-polkit_unix_session_new_for_proce.patch b/debian/patches/clients-check-errors-of-polkit_unix_session_new_for_proce.patch
new file mode 100644
index 00000000..6ff93f14
--- /dev/null
+++ b/debian/patches/clients-check-errors-of-polkit_unix_session_new_for_proce.patch
@@ -0,0 +1,33 @@
+From: =?utf-8?q?Ji=C5=99=C3=AD_Klime=C5=A1?= <jklimes@redhat.com>
+Date: Wed, 25 Nov 2015 10:51:44 +0100
+Subject: clients: check errors of polkit_unix_session_new_for_process_sync()
+
+polkit_unix_session_new_for_process_sync() can fail. And calling
+polkit_agent_listener_register() with NULL PolkitSubject results in errors.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=758625
+
+(cherry picked from commit 542200f5393ae0923ce4693085cfe77902622778)
+---
+ clients/common/nm-polkit-listener.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/clients/common/nm-polkit-listener.c b/clients/common/nm-polkit-listener.c
+index 82df1b2..c1c7c90 100644
+--- a/clients/common/nm-polkit-listener.c
++++ b/clients/common/nm-polkit-listener.c
+@@ -323,9 +323,11 @@ nm_polkit_listener_new (gboolean for_session, GError **error)
+ 	listener = g_object_new (NM_TYPE_POLKIT_LISTENER, NULL);
+ 	priv = NM_POLKIT_LISTENER_GET_PRIVATE (listener);
+ 
+-	if (for_session)
+-		session = polkit_unix_session_new_for_process_sync (getpid (), NULL, NULL);
+-	else
++	if (for_session) {
++		session = polkit_unix_session_new_for_process_sync (getpid (), NULL, error);
++		if (!session)
++			return NULL;
++	} else
+ 		session = polkit_unix_process_new_for_owner (getpid (), 0, getuid ());
+ 
+ 	priv->reg_handle = polkit_agent_listener_register (listener, POLKIT_AGENT_REGISTER_FLAGS_NONE,
diff --git a/debian/patches/series b/debian/patches/series
index df1d3cc3..1d8690ee 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@ Don-t-make-NetworkManager-D-Bus-activatable.patch
 Don-t-block-network.target-on-NetworkManager-wait-on.patch
 Fix-iscsiadm-path.patch
 crypto-only-use-gnutls-crypto-API-remove-libgcrypt-d.patch
+clients-check-errors-of-polkit_unix_session_new_for_proce.patch