hw/xwin: Warn about too large Windows -> X clipboard pastes
XChangeProperty() requests larger than the ~16MB permitted even with BigReq will fail BadLength
This commit is contained in:
parent
56a91f2067
commit
d7010cd93a
|
@ -690,6 +690,24 @@ winClipboardFlushXEvents(HWND hwnd,
|
|||
free(pszConvertData);
|
||||
pszConvertData = NULL;
|
||||
|
||||
/* data will fit into a single X request (INCR not yet supported) */
|
||||
{
|
||||
long unsigned int maxreqsize = XExtendedMaxRequestSize(pDisplay);
|
||||
if (maxreqsize == 0)
|
||||
maxreqsize = XMaxRequestSize(pDisplay);
|
||||
|
||||
/* covert to bytes and allow for allow for X_ChangeProperty request */
|
||||
maxreqsize = maxreqsize*4 - 24;
|
||||
|
||||
if (xtpText.nitems > maxreqsize) {
|
||||
ErrorF("winClipboardFlushXEvents - clipboard data size %lu greater than maximum %lu\n", xtpText.nitems, maxreqsize);
|
||||
|
||||
/* Abort */
|
||||
fAbort = TRUE;
|
||||
goto winClipboardFlushXEvents_SelectionRequest_Done;
|
||||
}
|
||||
}
|
||||
|
||||
/* Copy the clipboard text to the requesting window */
|
||||
iReturn = XChangeProperty(pDisplay,
|
||||
event.xselectionrequest.requestor,
|
||||
|
|
Loading…
Reference in New Issue
Block a user