mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-03 13:47:04 +03:00
util: refuse considering UID 0xFFFF and 0xFFFFFFFF valid
This commit is contained in:
parent
21236ab510
commit
306a55c863
@ -280,6 +280,14 @@ int parse_uid(const char *s, uid_t* ret_uid) {
|
||||
if ((unsigned long) uid != ul)
|
||||
return -ERANGE;
|
||||
|
||||
/* Some libc APIs use (uid_t) -1 as special placeholder */
|
||||
if (uid == (uid_t) 0xFFFFFFFF)
|
||||
return -EINVAL;
|
||||
|
||||
/* A long time ago UIDs where 16bit, hence explicitly avoid the 32bit -1 too */
|
||||
if (uid == (uid_t) 0xFFFF)
|
||||
return -EINVAL;
|
||||
|
||||
*ret_uid = uid;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user