diff --git a/kernel-src/sys/cred.c b/kernel-src/sys/cred.c index 9ad031d1..18c9cc90 100644 --- a/kernel-src/sys/cred.c +++ b/kernel-src/sys/cred.c @@ -4,9 +4,6 @@ #include int cred_setuids(cred_t *cred, int uid, int euid, int suid) { - if (uid < -1 || euid < -1 || suid < -1 || (uid == -1 && euid == -1 && suid == -1)) - return EINVAL; - int error = auth_cred_check(cred, AUTH_ACTIONS_CRED_SETRESUID, uid, euid, suid); if (error) return error; @@ -19,9 +16,6 @@ int cred_setuids(cred_t *cred, int uid, int euid, int suid) { } int cred_setgids(cred_t *cred, int gid, int egid, int sgid) { - if (gid < -1 || egid < -1 || sgid < -1 || (gid == -1 && egid == -1 && sgid == -1)) - return EINVAL; - int error = auth_cred_check(cred, AUTH_ACTIONS_CRED_SETRESGID, gid, egid, sgid); if (error) return error; diff --git a/kernel-src/sys/defaultauth.c b/kernel-src/sys/defaultauth.c index a737e426..6d0c5ddd 100644 --- a/kernel-src/sys/defaultauth.c +++ b/kernel-src/sys/defaultauth.c @@ -171,7 +171,7 @@ static int credlistener(cred_t *cred, int actions, void *arg0, void *arg1, void } else { if (*id != -1 && *id != cred->uid && *id != cred->euid && *id != cred->suid) return AUTH_DECISION_DENY; - if (*eid != -1 && *id != cred->uid && *id != cred->euid && *id != cred->suid) + if (*eid != -1 && *eid != cred->uid && *eid != cred->euid && *eid != cred->suid) return AUTH_DECISION_DENY; if (*sid != -1 && *sid != cred->uid && *sid != cred->euid && *sid != cred->suid) return AUTH_DECISION_DENY; @@ -188,7 +188,7 @@ static int credlistener(cred_t *cred, int actions, void *arg0, void *arg1, void } else { if (*id != -1 && *id != cred->gid && *id != cred->egid && *id != cred->sgid) return AUTH_DECISION_DENY; - if (*eid != -1 && *id != cred->gid && *id != cred->egid && *id != cred->sgid) + if (*eid != -1 && *eid != cred->gid && *eid != cred->egid && *eid != cred->sgid) return AUTH_DECISION_DENY; if (*sid != -1 && *sid != cred->gid && *sid != cred->egid && *sid != cred->sgid) return AUTH_DECISION_DENY;