Cygwin: Try to fix potential data corruption in pipe write
* fhandler.cc (fhandler_base_overlapped::raw_write): When performing nonblocking I/O, copy user space data into own buffer. Add longish comment to explain why. * fhandler.h (fhandler_base_overlapped::atomic_write_buf): New member. (fhandler_base_overlapped::fhandler_base_overlapped): Initialize atomic_write_buf. (fhandler_base_overlapped::fhandler_base_overlapped): New destructor, free'ing atomic_write_buf. (fhandler_base_overlapped::copyto): Set atomic_write_buf to NULL in copied fhandler. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
@@ -19,3 +19,8 @@ Bug Fixes
|
||||
- Don't try to perform RFC2307 owner/group mapping on Samba/NFS if account
|
||||
info is only fetched from local passwd/group files.
|
||||
Addresses: https://cygwin.com/ml/cygwin/2015-07/msg00270.html
|
||||
|
||||
- Precautionally fix a potential data corruption problem in pipe I/O, only
|
||||
actually observered in Wine yet. However, MSDN language indicates this
|
||||
might be a problem on real Windows as well.
|
||||
Addresses: Freenode IRC #cygwin discussion, ML entry follows.
|
||||
|
Reference in New Issue
Block a user