X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fcgroup-util.c;h=4ce885601fef2c76e5a152352c966e07d8559a2f;hp=855c9cd160c19c2794822d41363c1c357d572986;hb=af08d2f9cde8f46d9d3e731dbd1f06ffb3b08942;hpb=968d3d242cc9256eaca9a18155a744b575159cbd diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c index 855c9cd16..4ce885601 100644 --- a/src/shared/cgroup-util.c +++ b/src/shared/cgroup-util.c @@ -1332,11 +1332,10 @@ int cg_pid_get_machine_name(pid_t pid, char **machine) { int cg_path_get_session(const char *path, char **session) { const char *e, *n, *x; - char *s, *r; + char *s; size_t l; assert(path); - assert(session); /* Skip slices, if there are any */ e = skip_slices(path); @@ -1358,11 +1357,16 @@ int cg_path_get_session(const char *path, char **session) { if (l <= 6) return -ENOENT; - r = strndup(x, l - 6); - if (!r) - return -ENOMEM; + if (session) { + char *r; + + r = strndup(x, l - 6); + if (!r) + return -ENOMEM; + + *session = r; + } - *session = r; return 0; } @@ -1370,8 +1374,6 @@ int cg_pid_get_session(pid_t pid, char **session) { _cleanup_free_ char *cgroup = NULL; int r; - assert(session); - r = cg_pid_get_path_shifted(pid, NULL, &cgroup); if (r < 0) return r;