VirtualBox

Ignore:
Timestamp:
May 26, 2019 4:37:50 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130849
Message:

Main: NULL pTask after createThread() call to catch any useage after it might be deleted. Fixed one such case in SessionMachine::takeSnapshot().

File:
1 edited

Legend:

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

    r78658 r78762  
    25632563    {
    25642564        rc = pTask->createThread();
     2565        pTask = NULL;
    25652566
    25662567        if (SUCCEEDED(rc))
     
    28912892    {
    28922893        rc = pTask->createThread();
    2893 
     2894        pTask = NULL;
    28942895        if (SUCCEEDED(rc))
    28952896            pProgress.queryInterfaceTo(aProgress.asOutParam());
     
    31693170    {
    31703171        rc = pTask->createThread();
    3171 
     3172        pTask = NULL;
    31723173        if (SUCCEEDED(rc))
    31733174            pProgress.queryInterfaceTo(aProgress.asOutParam());
     
    33473348    {
    33483349        rc = pTask->createThread();
    3349 
     3350        pTask = NULL;
    33503351        if (SUCCEEDED(rc))
    33513352            pProgress.queryInterfaceTo(aProgress.asOutParam());
     
    34983499    {
    34993500        rc = pTask->createThread();
    3500 
     3501        pTask = NULL;
    35013502        if (SUCCEEDED(rc))
    35023503            pProgress.queryInterfaceTo(aProgress.asOutParam());
     
    36343635    {
    36353636        rc = pTask->createThread();
    3636 
     3637        pTask = NULL;
    36373638        if (SUCCEEDED(rc))
    36383639            pProgress.queryInterfaceTo(aProgress.asOutParam());
     
    49614962        {
    49624963            rc = pTask->runNow();
    4963 
    49644964            delete pTask;
    49654965        }
    49664966        else
    49674967            rc = pTask->createThread();
    4968 
     4968        pTask = NULL;
    49694969        if (SUCCEEDED(rc) && aProgress != NULL)
    49704970            *aProgress = pProgress;
     
    53135313        {
    53145314            rc = pTask->runNow();
    5315 
    53165315            delete pTask;
    53175316        }
    53185317        else
    53195318            rc = pTask->createThread();
    5320 
     5319        pTask = NULL;
    53215320        if (SUCCEEDED(rc) && aProgress != NULL)
    53225321            *aProgress = pProgress;
    5323 
    53245322    }
    53255323    else
     
    60266024        {
    60276025            rc = pTask->runNow();
    6028 
    60296026            delete pTask;
    60306027        }
    60316028        else
    60326029            rc = pTask->createThread();
    6033 
     6030        pTask = NULL;
    60346031        if (SUCCEEDED(rc) && aProgress != NULL)
    60356032            *aProgress = pProgress;
     
    61956192        else
    61966193            rc = pTask->createThread();
    6197 
     6194        pTask = NULL;
    61986195        if (SUCCEEDED(rc) && aProgress != NULL)
    61996196            *aProgress = pProgress;
     
    65706567
    65716568    if (SUCCEEDED(rc))
     6569    {
    65726570        rc = pTask->createThread();
     6571        pTask = NULL;
     6572    }
    65736573    else if (pTask != NULL)
    65746574        delete pTask;
     
    67176717    {
    67186718        rc = pTask->createThread();
    6719 
     6719        pTask = NULL;
    67206720        if (SUCCEEDED(rc))
    67216721            pProgress.queryInterfaceTo(aProgress);
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