VirtualBox

Ignore:
Timestamp:
Jan 18, 2024 3:32:39 PM (16 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
161182
Message:

Shared Clipboard/Transfer: Made destroying the transfers easier to use by also free'ing the object within ShClTransferDestroy(). Should also fix the memory leaks within the testcase. bugref:9437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedClipboard/testcase/tstClipboardTransfers.cpp

    r100641 r102954  
    291291    }
    292292
     293    ShClTransferObjOpenParmsDestroy(&openCreateParms);
     294
    293295    rc = ShClTransferDestroy(pTransfer);
    294296    RTTESTI_CHECK_RC_OK(rc);
     
    310312    ShClEventSourceReset(&Source);
    311313    RTTESTI_CHECK(ShClEventSourceGetLast(&Source) == NULL); /* Event still valid, but removed from the source. */
    312     RTTESTI_CHECK(ShClEventRelease(pEvent) == 0);
    313     RTTESTI_CHECK(ShClEventRelease(pEvent) == UINT32_MAX); /* Ref count already was 0, so returns UINT32_MAX. */
    314     RTTESTI_CHECK(ShClEventRelease(pEvent) == UINT32_MAX); /* Again. */
     314    RTTESTI_CHECK(ShClEventRelease(pEvent) == 0); /* Free'd event, as ref count is 0. */
    315315    RTTESTI_CHECK(ShClEventSourceGetLast(&Source) == NULL); /* Now it should be empty. */
    316316    RTTESTI_CHECK_RC_OK(ShClEventSourceDestroy(&Source));
     
    325325    RTTESTI_CHECK(ShClEventRelease(pEvent) == 1);
    326326    RTTESTI_CHECK(ShClEventGetRefs(pEvent) == 1);
    327     RTTESTI_CHECK(ShClEventRelease(pEvent) == 0); /* Destroys event, as ref count is 0. */
    328     RTTESTI_CHECK(ShClEventRelease(pEvent) == UINT32_MAX);
     327    RTTESTI_CHECK(ShClEventRelease(pEvent) == 0); /* Free'd event, as ref count is 0. */
    329328    RTTESTI_CHECK_RC_OK(ShClEventSourceDestroy(&Source)); /* Try to destruct again. */
    330329}
     
    339338    rc = ShClTransferDestroy(pTransfer);
    340339    RTTESTI_CHECK_RC_OK(rc);
     340    pTransfer = NULL; /* Was free'd above. */
    341341    rc = ShClTransferDestroy(pTransfer); /* Second time, intentional. */
    342342    RTTESTI_CHECK_RC_OK(rc);
     
    354354    ShClTransferListEntryDestroy(&Entry);
    355355    ShClTransferListEntryDestroy(&Entry); /* Second time, intentional. */
     356
     357    rc = ShClTransferDestroy(pTransfer);
     358    RTTESTI_CHECK_RC_OK(rc);
    356359}
    357360
Note: See TracChangeset for help on using the changeset viewer.

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