Changeset 102468 in vbox
- Timestamp:
- Dec 5, 2023 10:37:41 AM (15 months ago)
- svn:sync-xref-src-repo-rev:
- 160611
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/GuestHost/SharedClipboard-x11.h
r100684 r102468 168 168 169 169 /** 170 * Enumeration for an X11 event type. 171 */ 172 typedef enum _SHCLX11EVENTTYPE 173 { 174 /** Invalid event type. */ 175 SHCLX11EVENTTYPE_INVALID = 0, 176 /** Reports formats to X11. */ 177 SHCLX11EVENTTYPE_REPORT_FORMATS, 178 /** Reads clipboard from X11. */ 179 SHCLX11EVENTTYPE_READ 180 } SHCLX11EVENTTYPE; 181 /** Pointer to an enumeration for an X11 event type. */ 182 typedef SHCLX11EVENTTYPE *PSHCLX11EVENTTYPE; 183 184 /** 170 185 * Structure describing an X11 clipboard request. 171 186 */ … … 176 191 /** Event associated to this request. */ 177 192 PSHCLEVENT pEvent; 193 /** Request type for the union below. */ 194 SHCLX11EVENTTYPE enmType; 178 195 union 179 196 { … … 204 221 typedef struct _SHCLX11RESPONSE 205 222 { 206 int rc; 207 struct 223 /** Response type for the union below. */ 224 SHCLX11EVENTTYPE enmType; 225 /** rc (IPRT-style) of the operation performed as part of the X event thread. */ 226 int rc; 227 union 208 228 { 209 void *pvData; 210 uint32_t cbData; 211 } Read; 229 struct 230 { 231 void *pvData; 232 uint32_t cbData; 233 } Read; 234 }; 212 235 } SHCLX11RESPONSE; 213 236 /** Pointer to an X11 clipboard response. */ -
trunk/src/VBox/Additions/x11/VBoxClient/clipboard-x11.cpp
r102462 r102468 93 93 if (pPayload) 94 94 { 95 Assert(pPayload->cbData == sizeof(SHCLX11RESPONSE)); 95 AssertReturnVoid(pPayload->cbData == sizeof(SHCLX11RESPONSE)); 96 AssertReturnVoid(pPayload->pvData); 96 97 PSHCLX11RESPONSE pResp = (PSHCLX11RESPONSE)pPayload->pvData; 98 AssertReturnVoid(pResp->enmType == SHCLX11EVENTTYPE_READ); 97 99 98 100 rc = ShClTransferRootsInitFromStringListEx(pTransfer, (const char *)pResp->Read.pvData, pResp->Read.cbData, … … 559 561 if (pPayload) 560 562 { 561 Assert(pPayload->cbData == sizeof(SHCLX11RESPONSE)); 563 AssertBreakStmt(pPayload->cbData == sizeof(SHCLX11RESPONSE), rc = VERR_INVALID_PARAMETER); 564 AssertPtrBreakStmt(pPayload->pvData, rc = VERR_INVALID_POINTER); 562 565 PSHCLX11RESPONSE pResp = (PSHCLX11RESPONSE)pPayload->pvData; 566 AssertBreakStmt(pResp->enmType == SHCLX11EVENTTYPE_READ, rc = VERR_INVALID_PARAMETER); 563 567 564 568 rc = VbglR3ClipboardWriteDataEx(&pCtx->CmdCtx, pEvent->u.fReadData, -
trunk/src/VBox/GuestHost/SharedClipboard/clipboard-x11.cpp
r102465 r102468 1980 1980 1981 1981 PSHCLX11REQUEST pReq = (PSHCLX11REQUEST)pvUserData; 1982 AssertReturnVoid(pReq->enmType == SHCLX11EVENTTYPE_REPORT_FORMATS); 1982 1983 1983 1984 PSHCLX11CTX pCtx = pReq->pCtx; … … 2020 2021 if (pReq) 2021 2022 { 2023 pReq->enmType = SHCLX11EVENTTYPE_REPORT_FORMATS; 2022 2024 pReq->pCtx = pCtx; 2023 2025 pReq->Formats.fFormats = uFormats; … … 2121 2123 2122 2124 /* Sanity. */ 2125 AssertReturnVoid(pReq->enmType == SHCLX11EVENTTYPE_READ); 2123 2126 AssertReturnVoid(pReq->Read.uFmtVBox != VBOX_SHCL_FMT_NONE); 2124 2127 AssertReturnVoid(pReq->Read.idxFmtX11 < SHCL_MAX_X11_FORMATS); … … 2379 2382 if (pReq) /* Give some more clues, if available. */ 2380 2383 { 2384 AssertReturnVoid(pReq->enmType == SHCLX11EVENTTYPE_READ); 2381 2385 char *pszFmts = ShClFormatsToStrA(pReq->Read.uFmtVBox); 2382 2386 AssertPtrReturnVoid(pszFmts); … … 2475 2479 2476 2480 PSHCLX11REQUEST pReq = (PSHCLX11REQUEST)pvUserData; 2481 AssertReturnVoid(pReq->enmType == SHCLX11EVENTTYPE_READ); 2477 2482 SHCLX11CTX *pCtx = pReq->pCtx; 2478 2483 AssertPtrReturnVoid(pCtx); … … 2582 2587 if (pReq) 2583 2588 { 2589 pReq->enmType = SHCLX11EVENTTYPE_READ; 2584 2590 pReq->pCtx = pCtx; 2585 2591 pReq->Read.uFmtVBox = uFmt; … … 2636 2642 if (pPayload) 2637 2643 { 2638 Assert(pPayload->cbData == sizeof(SHCLX11RESPONSE)); 2644 AssertReturn(pPayload->cbData == sizeof(SHCLX11RESPONSE), VERR_INVALID_PARAMETER); 2645 AssertPtrReturn(pPayload->pvData, VERR_INVALID_POINTER); 2639 2646 PSHCLX11RESPONSE pResp = (PSHCLX11RESPONSE)pPayload->pvData; 2647 AssertReturn(pResp->enmType == SHCLX11EVENTTYPE_READ, VERR_INVALID_PARAMETER); 2640 2648 2641 2649 memcpy(pvBuf, pResp->Read.pvData, RT_MIN(cbBuf, pResp->Read.cbData)); -
trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-x11.cpp
r102467 r102468 307 307 if (pPayload) 308 308 { 309 Assert(pPayload->cbData == sizeof(SHCLX11RESPONSE)); 309 AssertReturn(pPayload->cbData == sizeof(SHCLX11RESPONSE), VERR_INVALID_PARAMETER); 310 AssertPtrReturn(pPayload->pvData, VERR_INVALID_POINTER); 310 311 PSHCLX11RESPONSE pResp = (PSHCLX11RESPONSE)pPayload->pvData; 312 AssertReturn(pResp->enmType == SHCLX11EVENTTYPE_READ, VERR_INVALID_PARAMETER); 311 313 312 314 uint32_t const cbRead = pResp->Read.cbData; … … 732 734 if (pPayload) 733 735 { 734 Assert (pPayload->cbData == sizeof(SHCLX11RESPONSE));735 AssertPtr (pPayload->pvData);736 AssertReturn(pPayload->cbData == sizeof(SHCLX11RESPONSE), VERR_INVALID_PARAMETER); 737 AssertPtrReturn(pPayload->pvData, VERR_INVALID_POINTER); 736 738 PSHCLX11RESPONSE pResp = (PSHCLX11RESPONSE)pPayload->pvData; 739 AssertReturn(pResp->enmType == SHCLX11EVENTTYPE_READ, VERR_INVALID_PARAMETER); 737 740 738 741 rc = ShClTransferRootsInitFromStringList(pCtx->pTransfer,
Note:
See TracChangeset
for help on using the changeset viewer.