https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=464f7145f650e85f89ac288355d4daba7e682156
commit 464f7145f650e85f89ac288355d4daba7e682156 Author: Corinna Vinschen <[email protected]> Date: Fri Sep 3 10:24:15 2021 +0200 Cygwin: pipes: fix a bug in raw_write The buffer pointer is incremented by "chunk", which is what we typically try to write, but this isn't what actually got written. Increment the buffer pointer by what we actually wrote, as returned by NtWriteFile. Signed-off-by: Corinna Vinschen <[email protected]> Diff: --- winsup/cygwin/fhandler_pipe.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc index 2dec0a848..85ab3cf55 100644 --- a/winsup/cygwin/fhandler_pipe.cc +++ b/winsup/cygwin/fhandler_pipe.cc @@ -380,7 +380,7 @@ fhandler_pipe::raw_write (const void *ptr, size_t len) buffer doesn't have sufficient space. */ if (nbytes_now == 0) set_errno (EAGAIN); - ptr = ((char *) ptr) + chunk; + ptr = ((char *) ptr) + nbytes_now; nbytes += nbytes_now; } else if (STATUS_PIPE_IS_CLOSED (status))
