diff options
Diffstat (limited to 'guts/setreuid.c')
-rw-r--r-- | guts/setreuid.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/guts/setreuid.c b/guts/setreuid.c index 3669581..7b7fe52 100644 --- a/guts/setreuid.c +++ b/guts/setreuid.c @@ -4,20 +4,20 @@ * int rc = -1; */ rc = 0; - if (pseudo_euid != 0 && ruid != -1 && + if (pseudo_euid != 0 && ruid != (uid_t) -1 && ruid != pseudo_euid && ruid != pseudo_ruid && ruid != pseudo_suid) { rc = -1; errno = EPERM; } - if (pseudo_euid != 0 && euid != -1 && + if (pseudo_euid != 0 && euid != (uid_t) -1 && euid != pseudo_euid && euid != pseudo_ruid && euid != pseudo_suid) { rc = -1; errno = EPERM; } if (rc != -1) { - if (ruid != -1) + if (ruid != (uid_t) -1) pseudo_ruid = ruid; - if (euid != -1) + if (euid != (uid_t) -1) pseudo_euid = euid; pseudo_fuid = pseudo_euid; pseudo_client_touchuid(); |