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 /newlib/libc/stdlib/quick_exit.c | |
parent | 36d500e4258a8ae324df213e32d70e8d40b3d436 (diff) | |
download | cygnal-344860a1045cbb8ef1f3caf265a9d706cdda01e0.tar.gz cygnal-344860a1045cbb8ef1f3caf265a9d706cdda01e0.tar.bz2 cygnal-344860a1045cbb8ef1f3caf265a9d706cdda01e0.zip |
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 'newlib/libc/stdlib/quick_exit.c')
0 files changed, 0 insertions, 0 deletions