Commit d7010cd9 authored by Jon Turney's avatar Jon Turney

hw/xwin: Warn about too large Windows -> X clipboard pastes

XChangeProperty() requests larger than the ~16MB permitted even with
BigReq will fail BadLength
parent 56a91f20
......@@ -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,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment