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 /winsup/cygwin/fhandler_clipboard.cc
parentf4ddbb8ebfd4b18a195e60046c50cbadaa65b502 (diff)
* fhandler_clipboard.cc (fhandler_dev_clipboard::read): Fix buffer
read access overrun when pos > 0.
Diffstat (limited to 'winsup/cygwin/fhandler_clipboard.cc')
-rw-r--r--winsup/cygwin/fhandler_clipboard.cc3
1 files changed, 2 insertions, 1 deletions
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;