[newlib-cygwin] Cygwin: pipes: fix a bug in raw_write
Corinna Vinschen
corinna@sourceware.org
Tue Sep 14 15:05:54 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=464f7145f650e85f89ac288355d4daba7e682156
commit 464f7145f650e85f89ac288355d4daba7e682156
Author: Corinna Vinschen <corinna@vinschen.de>
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 <corinna@vinschen.de>
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))
More information about the Cygwin-cvs
mailing list