parse_uid: return -ENXIO for -1 uids

This commit is contained in:
Kay Sievers 2014-07-01 16:00:05 +02:00
parent 3058e017fc
commit f841a154ef
2 changed files with 2 additions and 5 deletions

View File

@ -77,9 +77,6 @@ int audit_loginuid_from_pid(pid_t pid, uid_t *uid) {
if (r < 0)
return r;
if (u == (uid_t) -1)
return -ENXIO;
*uid = (uid_t) u;
return 0;
}

View File

@ -282,11 +282,11 @@ int parse_uid(const char *s, uid_t* ret_uid) {
/* Some libc APIs use (uid_t) -1 as special placeholder */
if (uid == (uid_t) 0xFFFFFFFF)
return -EINVAL;
return -ENXIO;
/* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */
if (uid == (uid_t) 0xFFFF)
return -EINVAL;
return -ENXIO;
*ret_uid = uid;
return 0;