From 9ce0a27d4fec6387fd44c4db370c3fa20f84a223 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Wed, 25 Nov 2015 14:32:24 +0100 Subject: Check errors of polkit_unix_session_new_for_process_sync() Patch cherry-picked from upstream Git. --- debian/changelog | 2 ++ ...rors-of-polkit_unix_session_new_for_proce.patch | 33 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 36 insertions(+) create mode 100644 debian/patches/clients-check-errors-of-polkit_unix_session_new_for_proce.patch 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 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?= +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 -- cgit 1.3.0-6-gf8a5