From: Zbigniew Jędrzejewski-Szmek Date: Fri, 19 May 2017 02:11:08 +0000 (-0400) Subject: sd-login: fix return value of sd_pid_get_user_unit X-Git-Tag: v234~181^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d440fb97ba36e0a1dcf03e41601e53303a4d6288;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/libsystemd/sd-login/sd-login.c b/src/libsystemd/sd-login/sd-login.c index 030131eeda3..cd844b3105b 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) {