From d440fb97ba36e0a1dcf03e41601e53303a4d6288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 18 May 2017 22:11:08 -0400 Subject: [PATCH] sd-login: fix return value of sd_pid_get_user_unit E.g. "/user.slice/user-1000.slice/session-15.scope" would cause -ENXIO to be returned. --- src/libsystemd/sd-login/sd-login.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libsystemd/sd-login/sd-login.c b/src/libsystemd/sd-login/sd-login.c index 030131eeda..cd844b3105 100644 --- a/src/libsystemd/sd-login/sd-login.c +++ b/src/libsystemd/sd-login/sd-login.c @@ -74,11 +74,13 @@ _public_ int sd_pid_get_unit(pid_t pid, char **unit) { } _public_ int sd_pid_get_user_unit(pid_t pid, char **unit) { + int r; assert_return(pid >= 0, -EINVAL); assert_return(unit, -EINVAL); - return cg_pid_get_user_unit(pid, unit); + r = cg_pid_get_user_unit(pid, unit); + return r == -ENXIO ? -ENODATA : r; } _public_ int sd_pid_get_machine_name(pid_t pid, char **name) {