getclip and cygutils and cygcheck

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Jun 17 10:16:00 GMT 2013


On Jun 14 23:15, Jeremy Hetzler wrote:
> On Fri, Jun 14, 2013 at 5:15 AM, Corinna Vinschen wrote:
> 
> > What's that size?  I'm not aware of any size restriction in the current
> > /dev/clipboard code.  Well, there's an allocation when writing to the
> > clipboard, but it's only restricted by the size of the largest available
> > memory block in the process VM, in theory.
> 
> After some testing, the limit seems to be 64k. It only happens when
> reading data that was copied to the clipboard by a Windows program (in
> this case Excel).
> 
> Steps:
> - Open attached file in Excel
> - Ctrl-a to select all, ctrl-c to copy to clipboard
> - Then:
> 
> 582 $ getclip >out.gc
> 
> 583 $ cat /dev/clipboard >out.cat
> cat: /dev/clipboard: Bad address
> 
> 584 $ wc /dev/clipboard
> wc: /dev/clipboard: Bad address
>     400   13526   65536 /dev/clipboard
> 
> 585 $ ls -la out*
> -rw-r--r--+ 1 jhetzler Domain Users 65536 Jun 14 23:03 out.cat
> -rw-r--r--+ 1 jhetzler Domain Users 73922 Jun 14 23:03 out.gc
> 
> This is 1.7.20 on 64-bit Windows 7 and Excel 2013.
> 
> Does that help?

Yes, thank you.  There was an ill-conceived check for the last character
in the buffer being a high surrogate UTF-16 character.  It worked only
if the clipboard content was small enough to fit into a single read of
the application.  If it was too big, and the application had to call
read again to fetch more from the clipboard, it tried to read the
character beyond the array boundary.  I fixed that in CVS.  I'll probably
create a new developer snapshot and a 64 bit test version later today.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list