summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/syscalls.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 9d9eaeb89..bfd5af8b6 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -287,6 +287,9 @@ setsid (void)
extern "C" ssize_t
_read (int fd, void *ptr, size_t len)
{
+ if (len == 0)
+ return 0;
+
if (__check_null_invalid_struct_errno (ptr, len))
return -1;