From 67da0f3087193c6bad3755984aab800665e980aa Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Mon, 26 Oct 2020 13:38:05 -0400 Subject: [PATCH] Cygwin: AF_UNIX: peek_pipe: check for STATUS_BUFFER_OVERFLOW Treat this the same as STATUS_SUCCESS. --- winsup/cygwin/fhandler_socket_unix.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/fhandler_socket_unix.cc b/winsup/cygwin/fhandler_socket_unix.cc index 4dd0225f3..290f613cf 100644 --- a/winsup/cygwin/fhandler_socket_unix.cc +++ b/winsup/cygwin/fhandler_socket_unix.cc @@ -1152,9 +1152,12 @@ fhandler_socket_unix::peek_pipe (PFILE_PIPE_PEEK_BUFFER pbuf, ULONG psize, if (NT_SUCCESS (status)) status = io.Status; } - ret_len = (NT_SUCCESS (status) - ? (io.Information - offsetof (FILE_PIPE_PEEK_BUFFER, Data)) - : 0); + if (NT_SUCCESS (status) || status == STATUS_BUFFER_OVERFLOW) + { + ret_len = io.Information - offsetof (FILE_PIPE_PEEK_BUFFER, Data); + return STATUS_SUCCESS; + } + ret_len = 0; return status; }