diff options
| -rw-r--r-- | debian/changelog | 2 | ||||
| -rw-r--r-- | debian/patches/clients-check-errors-of-polkit_unix_session_new_for_proce.patch | 33 | ||||
| -rw-r--r-- | debian/patches/series | 1 |
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 |