VirtualBox

Ignore:
Timestamp:
Jul 11, 2023 8:00:15 AM (20 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
158280
Message:

Shared Clipboard: List entry reading fixes. bugref:9437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-transfers.cpp

    r100471 r100499  
    12781278 * @param   cParms              Number of HGCM parameters supplied in \a aParms.
    12791279 * @param   aParms              Array of HGCM parameters.
    1280  * @param   pListEntry          Pointer list entry to set.
     1280 * @param   pEntry              Pointer list entry to set.
    12811281 */
    12821282static int shClSvcTransferSetListEntry(uint32_t cParms, VBOXHGCMSVCPARM aParms[],
    1283                                        PSHCLLISTENTRY pListEntry)
     1283                                       PSHCLLISTENTRY pEntry)
    12841284{
    12851285    int rc;
    12861286
    12871287    /* Sanity. */
    1288     AssertReturn(ShClTransferListEntryIsValid(pListEntry), VERR_INVALID_PARAMETER);
     1288    AssertReturn(ShClTransferListEntryIsValid(pEntry), VERR_INVALID_PARAMETER);
    12891289
    12901290    if (cParms == VBOX_SHCL_CPARMS_LIST_ENTRY)
    12911291    {
    1292         HGCMSvcSetPv (&aParms[3], pListEntry->pszName, pListEntry->cbName);
    1293         HGCMSvcSetU32(&aParms[4], pListEntry->cbInfo);
    1294         HGCMSvcSetPv (&aParms[5], pListEntry->pvInfo, pListEntry->cbInfo);
     1292        /* Entry name */
     1293        void  *pvDst = aParms[3].u.pointer.addr;
     1294        size_t cbDst = aParms[3].u.pointer.size;
     1295        memcpy(pvDst, pEntry->pszName, RT_MIN(pEntry->cbName, cbDst));
     1296
     1297        /* Info size */
     1298        HGCMSvcSetU32(&aParms[4], pEntry->cbInfo);
     1299
     1300        /* Info data */
     1301        pvDst = aParms[5].u.pointer.addr;
     1302        cbDst = aParms[5].u.pointer.size;
     1303        memcpy(pvDst, pEntry->pvInfo, RT_MIN(pEntry->cbInfo, cbDst));
    12951304
    12961305        rc = VINF_SUCCESS;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette