diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-08-15 12:30:09 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-08-15 12:30:09 +0200 |
commit | 344860a1045cbb8ef1f3caf265a9d706cdda01e0 (patch) | |
tree | 80b734af69beb744ae132e8e27bcf449cb6f5cca /winsup/cygwin/release/2.2.1 | |
parent | 36d500e4258a8ae324df213e32d70e8d40b3d436 (diff) | |
download | newlib-344860a1045cbb8ef1f3caf265a9d706cdda01e0.zip newlib-344860a1045cbb8ef1f3caf265a9d706cdda01e0.tar.gz newlib-344860a1045cbb8ef1f3caf265a9d706cdda01e0.tar.bz2 |
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>
Diffstat (limited to 'winsup/cygwin/release/2.2.1')
-rw-r--r-- | winsup/cygwin/release/2.2.1 | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/winsup/cygwin/release/2.2.1 b/winsup/cygwin/release/2.2.1 index b31f182..4aa797a 100644 --- a/winsup/cygwin/release/2.2.1 +++ b/winsup/cygwin/release/2.2.1 @@ -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. |