VirtualBox

Changeset 90771 in vbox for trunk


Ignore:
Timestamp:
Aug 21, 2021 1:36:55 AM (3 years ago)
Author:
vboxsync
Message:

VBoxSVC/Performance: Stop the time before destroying unregistered metric. Asan found a use-after free.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/PerformanceImpl.cpp

    r85273 r90771  
    221221    }
    222222
     223    /* Destroy resource usage sampler first, as the callback will access the metrics. */
     224    int vrc = RTTimerLRDestroy(m.sampler);
     225    AssertMsgRC(vrc, ("Failed to destroy resource usage sampling timer (%Rra)\n", vrc));
     226    m.sampler = NULL;
     227
    223228    /* Destroy unregistered metrics */
    224229    BaseMetricList::iterator it;
     
    238243     */
    239244    m.gm->destroyUnregistered();
    240 
    241     /* Destroy resource usage sampler */
    242     int vrc = RTTimerLRDestroy(m.sampler);
    243     AssertMsgRC(vrc, ("Failed to destroy resource usage sampling timer (%Rra)\n", vrc));
    244     m.sampler = NULL;
    245245
    246246    /* Invalidate the magic now. */
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