]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
fix: sd_id128_get_invocation now works for user services
authori-do-cpp <i-do-cpp@users.noreply.github.com>
Sat, 4 Jun 2022 20:18:05 +0000 (22:18 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 9 Jun 2022 23:28:37 +0000 (08:28 +0900)
src/libsystemd/sd-id128/sd-id128.c

index b81cd6ca8b4f88f2f6a5783e6434775b153d0f64..183d34054dc5a8073ef5c40dc3a30b5ede94f586 100644 (file)
@@ -256,7 +256,10 @@ _public_ int sd_id128_get_invocation(sd_id128_t *ret) {
                 /* We first check the environment. The environment variable is primarily relevant for user
                  * services, and sufficiently safe as long as no privilege boundary is involved. */
                 r = get_invocation_from_environment(&saved_invocation_id);
-                if (r < 0 && r != -ENXIO)
+                if (r >= 0) {
+                        *ret = saved_invocation_id;
+                        return 0;
+                } else if (r != -ENXIO)
                         return r;
 
                 /* The kernel keyring is relevant for system services (as for user services we don't store