X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fcgroup-util.c;h=da8e8852260a106248e1e1955152fe3e350ca069;hb=7c63b23f499069b7bbdf5e74d3e7a622918341e9;hp=e8cb9c73ac6fa4e1c104c842ac9ae4cd57e05282;hpb=70c949a42b2b0d0c9a2a567890483940cdc5f72c;p=elogind.git diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c index e8cb9c73a..da8e88522 100644 --- a/src/shared/cgroup-util.c +++ b/src/shared/cgroup-util.c @@ -161,7 +161,7 @@ int cg_kill(const char *controller, const char *path, int sig, bool sigcont, boo * tasks list, to properly handle forking processes */ if (!s) { - s = allocated_set = set_new(trivial_hash_func, trivial_compare_func); + s = allocated_set = set_new(NULL); if (!s) return -ENOMEM; } @@ -239,7 +239,7 @@ int cg_kill_recursive(const char *controller, const char *path, int sig, bool si assert(sig >= 0); if (!s) { - s = allocated_set = set_new(trivial_hash_func, trivial_compare_func); + s = allocated_set = set_new(NULL); if (!s) return -ENOMEM; } @@ -290,7 +290,7 @@ int cg_migrate(const char *cfrom, const char *pfrom, const char *cto, const char assert(cto); assert(pto); - s = set_new(trivial_hash_func, trivial_compare_func); + s = set_new(NULL); if (!s) return -ENOMEM; @@ -1306,9 +1306,8 @@ 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; + const char *e, *n, *x, *y; char *s; - size_t l; assert(path); @@ -1325,17 +1324,14 @@ int cg_path_get_session(const char *path, char **session) { x = startswith(s, "session-"); if (!x) return -ENOENT; - if (!endswith(x, ".scope")) - return -ENOENT; - - l = strlen(x); - if (l <= 6) + y = endswith(x, ".scope"); + if (!y || x == y) return -ENOENT; if (session) { char *r; - r = strndup(x, l - 6); + r = strndup(x, y - x); if (!r) return -ENOMEM;