bus-util: treat org.freedesktop.DBus.Error.ServiceUnknown nicely when polkit does...
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 4 Apr 2019 04:35:29 +0000 (13:35 +0900)
committerMichael Biebl <biebl@debian.org>
Sat, 24 Oct 2020 18:44:48 +0000 (19:44 +0100)
Fixes #12209.

(cherry picked from commit 8c69fe79df6394f6b8b8d0bb536a265caf417868)
(cherry picked from commit 0bb488b22144aeb87d93e97123f71babe116261f)

Gbp-Pq: Name bus-util-treat-org.freedesktop.DBus.Error.ServiceUnknown-.patch

src/shared/bus-util.c

index 9d31fba5cecc6a5bae567b512b7847edc8d68d43..a406dd84236e2d115ad8b1bedb55cefe7dee6738 100644 (file)
@@ -410,14 +410,14 @@ int bus_verify_polkit_async(
                 if (sd_bus_message_is_method_error(q->reply, NULL)) {
                         const sd_bus_error *e;
 
-                        /* Copy error from polkit reply */
                         e = sd_bus_message_get_error(q->reply);
-                        sd_bus_error_copy(error, e);
 
                         /* Treat no PK available as access denied */
                         if (sd_bus_error_has_name(e, SD_BUS_ERROR_SERVICE_UNKNOWN))
                                 return -EACCES;
 
+                        /* Copy error from polkit reply */
+                        sd_bus_error_copy(error, e);
                         return -sd_bus_error_get_errno(e);
                 }