X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Ftmpfiles.c;h=a1b2f8b1d27ef3cc9236f8ea1c224cf556b6c318;hp=feb2a214638f3264083cf653a949508ea4340dff;hb=ddd88763921a1534081ed28e36f6712a85449005;hpb=034a2a52ac0ec83e0229941d635d310b23eb04df diff --git a/src/tmpfiles.c b/src/tmpfiles.c index feb2a2146..a1b2f8b1d 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 {