summaryrefslogtreecommitdiff
path: root/src/shared/util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-04-30 00:47:41 +0200
committerSven Eden <yamakuzure@gmx.net>2017-03-14 08:19:45 +0100
commit6b1c671c3ab4a44ec18f3059e45f197fbe8502f3 (patch)
tree9c1c94e74e555baab5f68fafa00f109c2273557a /src/shared/util.c
parenta1910f022026c217070c90c0aa75f88e84bf2ddb (diff)
core: rework cgroup path parse logic
Various cleanups, be stricter when parsing unit paths. Most importantly: return the root slice "-.slice" when asked for slice of paths that contain no slice component.
Diffstat (limited to 'src/shared/util.c')
-rw-r--r--src/shared/util.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/shared/util.c b/src/shared/util.c
index f9094cc7e..693bb1d9a 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -350,7 +350,6 @@ int parse_uid(const char *s, uid_t* ret_uid) {
int r;
assert(s);
- assert(ret_uid);
r = safe_atolu(s, &ul);
if (r < 0)
@@ -369,7 +368,9 @@ int parse_uid(const char *s, uid_t* ret_uid) {
if (uid == (uid_t) 0xFFFF)
return -ENXIO;
- *ret_uid = uid;
+ if (ret_uid)
+ *ret_uid = uid;
+
return 0;
}