On Wed,  8 Dec 2021 21:26:45 +0900
Takashi Yano wrote:
> ---
>  winsup/cygwin/fhandler_clipboard.cc   | 4 ++--
>  winsup/cygwin/include/sys/clipboard.h | 1 +
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/winsup/cygwin/fhandler_clipboard.cc 
> b/winsup/cygwin/fhandler_clipboard.cc
> index 05f54ffb3..14820701c 100644
> --- a/winsup/cygwin/fhandler_clipboard.cc
> +++ b/winsup/cygwin/fhandler_clipboard.cc
> @@ -76,7 +76,7 @@ fhandler_dev_clipboard::set_clipboard (const void *buf, 
> size_t len)
>        clipbuf->cb_sec  = clipbuf->ts.tv_sec;
>  #endif
>        clipbuf->cb_size = len;
> -      memcpy (&clipbuf[1], buf, len); // append user-supplied data
> +      memcpy (clipbuf->cb_data, buf, len); // append user-supplied data
>  
>        GlobalUnlock (hmem);
>        EmptyClipboard ();
> @@ -229,7 +229,7 @@ fhandler_dev_clipboard::read (void *ptr, size_t& len)
>        if (pos < (off_t) clipbuf->cb_size)
>       {
>         ret = (len > (clipbuf->cb_size - pos)) ? clipbuf->cb_size - pos : len;
> -       memcpy (ptr, (char *) (clipbuf + 1) + pos, ret);
> +       memcpy (ptr, clipbuf->cb_data + pos, ret);
>         pos += ret;
>       }
>      }
> diff --git a/winsup/cygwin/include/sys/clipboard.h 
> b/winsup/cygwin/include/sys/clipboard.h
> index 4c00c8ea1..932fe98d9 100644
> --- a/winsup/cygwin/include/sys/clipboard.h
> +++ b/winsup/cygwin/include/sys/clipboard.h
> @@ -44,6 +44,7 @@ typedef struct
>      };
>    };
>    uint64_t      cb_size; // 8 bytes everywhere
> +  char          cb_data[];
>  } cygcb_t;
>  
>  #endif
> -- 
> 2.34.1

What should we do with this one?

-- 
Takashi Yano <takashi.y...@nifty.ne.jp>

Reply via email to