Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2013-06-17 14:11:54 +0400
committerCorinna Vinschen <corinna@vinschen.de>2013-06-17 14:11:54 +0400
commit42c8e85109d9c8edaf1e46eb26d5484ebdf16881 (patch)
tree84c4656aa7cf70d40b6aa73ab6b1c3936b533578
parentf4ddbb8ebfd4b18a195e60046c50cbadaa65b502 (diff)
* fhandler_clipboard.cc (fhandler_dev_clipboard::read): Fix buffer
read access overrun when pos > 0.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_clipboard.cc3
-rw-r--r--winsup/cygwin/release/1.7.213
3 files changed, 10 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 1b2562bfa..7c2f442e5 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2013-06-17 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_clipboard.cc (fhandler_dev_clipboard::read): Fix buffer
+ read access overrun when pos > 0.
+
+2013-06-17 Corinna Vinschen <corinna@vinschen.de>
+
* times.cc (GetSystemTimePreciseAsFileTime): Add comment to declaration.
(__to_clock_t): Remove a debug_printf.
(times): Align syscall_printf to debug output of other system calls.
diff --git a/winsup/cygwin/fhandler_clipboard.cc b/winsup/cygwin/fhandler_clipboard.cc
index 1118137c1..db72b9787 100644
--- a/winsup/cygwin/fhandler_clipboard.cc
+++ b/winsup/cygwin/fhandler_clipboard.cc
@@ -295,7 +295,8 @@ fhandler_dev_clipboard::read (void *ptr, size_t& len)
!= (size_t) -1
&& (ret > conv_len
/* Skip separated high surrogate: */
- || ((buf [pos + glen - 1] & 0xFC00) == 0xD800 && glen - pos > 1)))
+ || ((buf [glen - 1] & 0xFC00) == 0xD800
+ && glen - pos > 1)))
--glen;
if (ret == (size_t) -1)
ret = 0;
diff --git a/winsup/cygwin/release/1.7.21 b/winsup/cygwin/release/1.7.21
index 0eb3de3a4..2ea267778 100644
--- a/winsup/cygwin/release/1.7.21
+++ b/winsup/cygwin/release/1.7.21
@@ -8,3 +8,6 @@ Bug fixes:
- Fix long-standing problem which allows to access files via ".." using an
invalid POSIX path, for instance, `cd nonexistant/../existing_dir".
Fixes: http://cygwin.com/ml/cygwin/2013-05/msg00222.html
+
+- Fix EFAULT when reading large clipboard.
+ Fixes: http://cygwin.com/ml/cygwin/2013-06/msg00311.html