summaryrefslogtreecommitdiff
path: root/src/tmpfiles.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tmpfiles.c')
-rw-r--r--src/tmpfiles.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/tmpfiles.c b/src/tmpfiles.c
index feb2a21463..a1b2f8b1d2 100644
--- a/src/tmpfiles.c
+++ b/src/tmpfiles.c
@@ -757,13 +757,13 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
}
if (user && !streq(user, "-")) {
- unsigned long lu;
+ uid_t uid;
struct passwd *p;
if (streq(user, "root") || streq(user, "0"))
i->uid = 0;
- else if (safe_atolu(user, &lu) >= 0)
- i->uid = (uid_t) lu;
+ else if (parse_uid(user, &uid) >= 0)
+ i->uid = uid;
else if ((p = getpwnam(user)))
i->uid = p->pw_uid;
else {
@@ -776,13 +776,13 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
}
if (group && !streq(group, "-")) {
- unsigned long lu;
+ gid_t gid;
struct group *g;
if (streq(group, "root") || streq(group, "0"))
i->gid = 0;
- else if (safe_atolu(group, &lu) >= 0)
- i->gid = (gid_t) lu;
+ else if (parse_gid(group, &gid) >= 0)
+ i->gid = gid;
else if ((g = getgrnam(group)))
i->gid = g->gr_gid;
else {