-clipboard crash with large amount of text

Harold L Hunt II huntharo@msu.edu
Mon Oct 6 17:17:00 GMT 2003


Turns out that the function is returning XConverterNotFound.  iCount is 
somewhere around 32 million in this case, so its value is not valid.

Upon further investigation, I found out that xtpText.format was 32 
instead of 8 (anything other than 8 causes Xutf8TextPropertyToTextList 
to return XConvertorNotFound).  I also found out that xtpText.encoding 
didn't match any value that I had previously known about.

Going even further, I printed the atom name for xtpText.format and got 
"INCR".  Turns out that the ICCCM specifies a protocol for incremental 
transfers of selection data when the data being transferred is very 
large.  This is documented in Section 2.7.2 of the ICCCM:

http://tronche.com/gui/x/icccm/sec-2.html#s-2.7.2


So, the crash here is sort of by design since we don't support INCR. 
The two options we have are to fix the crash by silently ignoring INCR 
requests, or we can strive to support INCR requests.  I think we will 
probably do the latter.


Harold

Harold L Hunt II wrote:
> The crash is in xc/programs/Xserver/hw/xwin/winclipboardxevents.c at 
> line 565.  The offending code is after a call to:
> 
>  /* Convert the text property to a text list */
>           Xutf8TextPropertyToTextList (pDisplay,
>                        &xtpText,
>                        &ppszTextList,
>                        &iCount);
> 
> 
> ppszTextList is being returned as NULL, yet iCount is > 0.  I have to go 
> now, but maybe someone can look up reasons for why 
> Xutf8TextPropertyToTextList would return a NULL pointer.
> 
> 
> Harold
> 



More information about the Cygwin-xfree mailing list