summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen/getpeereid.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/gen/getpeereid.c')
-rw-r--r--lib/libc/gen/getpeereid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libc/gen/getpeereid.c b/lib/libc/gen/getpeereid.c
index 7d0c577..b64ff54 100644
--- a/lib/libc/gen/getpeereid.c
+++ b/lib/libc/gen/getpeereid.c
@@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$");
#include <sys/ucred.h>
#include <sys/un.h>
+#include <errno.h>
#include <unistd.h>
int
@@ -45,6 +46,8 @@ getpeereid(int s, uid_t *euid, gid_t *egid)
error = getsockopt(s, LOCAL_PEERCRED, 1, &xuc, &xuclen);
if (error != 0)
return (error);
+ if (xuc.cr_version != XUCRED_VERSION)
+ return (EINVAL);
*euid = xuc.cr_uid;
*egid = xuc.cr_gid;
return (0);
OpenPOWER on IntegriCloud