getpeereid(3): Fix behavior on failure to match documentation.
According to the getpeereid(3) documentation, on failure the value -1 is returned and the global variable errno is set to indicate the error. We were returning the error instead. Obtained from: Apple's Libc-1244.30.3 MFC after: 5 days
This commit is contained in:
parent
d68b76a9de
commit
8d48e738b5
@ -50,8 +50,10 @@ getpeereid(int s, uid_t *euid, gid_t *egid)
|
||||
error = _getsockopt(s, 0, LOCAL_PEERCRED, &xuc, &xuclen);
|
||||
if (error != 0)
|
||||
return (error);
|
||||
if (xuc.cr_version != XUCRED_VERSION)
|
||||
return (EINVAL);
|
||||
if (xuc.cr_version != XUCRED_VERSION) {
|
||||
errno = EINVAL;
|
||||
return (-1);
|
||||
}
|
||||
*euid = xuc.cr_uid;
|
||||
*egid = xuc.cr_gid;
|
||||
return (0);
|
||||
|
Loading…
Reference in New Issue
Block a user