summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_socket.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r--winsup/cygwin/fhandler_socket.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc
index ced45039e..ffe647cb4 100644
--- a/winsup/cygwin/fhandler_socket.cc
+++ b/winsup/cygwin/fhandler_socket.cc
@@ -35,6 +35,7 @@
#include "wininfo.h"
#include <unistd.h>
#include <sys/acl.h>
+#include "cygtls.h"
#define ASYNC_MASK (FD_READ|FD_WRITE|FD_OOB|FD_ACCEPT|FD_CONNECT)
@@ -1659,11 +1660,14 @@ fhandler_socket::getpeereid (pid_t *pid, __uid32_t *euid, __gid32_t *egid)
return -1;
}
- if (!check_null_invalid_struct (pid))
+ myfault efault;
+ if (efault.faulted (EFAULT))
+ return -1;
+ if (pid)
*pid = sec_peer_pid;
- if (!check_null_invalid_struct (euid))
+ if (euid)
*euid = sec_peer_uid;
- if (!check_null_invalid_struct (egid))
+ if (egid)
*egid = sec_peer_gid;
return 0;
}