diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2013-06-17 14:11:54 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2013-06-17 14:11:54 +0400 |
commit | 42c8e85109d9c8edaf1e46eb26d5484ebdf16881 (patch) | |
tree | 84c4656aa7cf70d40b6aa73ab6b1c3936b533578 /winsup/cygwin/fhandler_clipboard.cc | |
parent | f4ddbb8ebfd4b18a195e60046c50cbadaa65b502 (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.cc | 3 |
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; |