VirtualBox

Ignore:
Timestamp:
Dec 11, 2015 11:04:51 AM (9 years ago)
Author:
vboxsync
Message:

bugref:7179. auto_ptr was removed from the files VirtualBoxImpl.cpp and NetIf-win.cpp. The operations with network interface on Windows OS were affected.

File:
1 edited

Legend:

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

    r59082 r59087  
    4646#include "VirtualBoxImpl.h"
    4747#include "netif.h"
     48#include "ThreadTask.h"
    4849
    4950#ifdef VBOX_WITH_NETFLT
     
    237238};
    238239
    239 struct NetworkInterfaceHelperClientData
    240 {
     240class NetworkInterfaceHelperClientData : public ThreadVoidData
     241{
     242public:
     243    NetworkInterfaceHelperClientData(){};
     244    ~NetworkInterfaceHelperClientData(){};
     245
    241246    SVCHlpMsg::Code msgCode;
    242247    /* for SVCHlpMsg::CreateHostOnlyNetworkInterface */
     
    253258    } u;
    254259
    255 
    256260};
    257261
     
    269273    AssertReturn(aUser, E_POINTER);
    270274
    271     std::auto_ptr<NetworkInterfaceHelperClientData>
    272         d(static_cast<NetworkInterfaceHelperClientData *>(aUser));
     275    NetworkInterfaceHelperClientData* d = static_cast<NetworkInterfaceHelperClientData *>(aUser);
    273276
    274277    if (aClient == NULL)
     
    11611164
    11621165            /* create the networkInterfaceHelperClient() argument */
    1163             std::auto_ptr<NetworkInterfaceHelperClientData>
    1164                 d(new NetworkInterfaceHelperClientData());
    1165             AssertReturn(d.get(), E_OUTOFMEMORY);
     1166            NetworkInterfaceHelperClientData* d = new NetworkInterfaceHelperClientData();
    11661167
    11671168            d->msgCode = SVCHlpMsg::CreateHostOnlyNetworkInterface;
     
    11721173            rc = pVirtualBox->i_startSVCHelperClient(IsUACEnabled() == TRUE /* aPrivileged */,
    11731174                                                     netIfNetworkInterfaceHelperClient,
    1174                                                      static_cast<void *>(d.get()),
     1175                                                     static_cast<void *>(d),
    11751176                                                     progress);
    1176             if (SUCCEEDED(rc))
    1177             {
    1178                 /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    1179                 d.release();
    1180             }
     1177            /* d is now owned by netIfNetworkInterfaceHelperClient(), no need to delete one here */
     1178
    11811179        }
    11821180    }
     
    12081206
    12091207            /* create the networkInterfaceHelperClient() argument */
    1210             std::auto_ptr<NetworkInterfaceHelperClientData>
    1211                 d(new NetworkInterfaceHelperClientData());
    1212             AssertReturn(d.get(), E_OUTOFMEMORY);
     1208            NetworkInterfaceHelperClientData* d = new NetworkInterfaceHelperClientData();
    12131209
    12141210            d->msgCode = SVCHlpMsg::RemoveHostOnlyNetworkInterface;
     
    12171213            rc = pVirtualBox->i_startSVCHelperClient(IsUACEnabled() == TRUE /* aPrivileged */,
    12181214                                                     netIfNetworkInterfaceHelperClient,
    1219                                                      static_cast<void *>(d.get()),
     1215                                                     static_cast<void *>(d),
    12201216                                                     progress);
    1221 
    1222             if (SUCCEEDED(rc))
    1223             {
    1224                 /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    1225                 d.release();
    1226             }
     1217            /* d is now owned by netIfNetworkInterfaceHelperClient(), no need to delete one here */
     1218
    12271219        }
    12281220    }
     
    12621254
    12631255                    /* create the networkInterfaceHelperClient() argument */
    1264                     std::auto_ptr<NetworkInterfaceHelperClientData>
    1265                         d(new NetworkInterfaceHelperClientData());
    1266                     AssertReturn(d.get(), E_OUTOFMEMORY);
     1256                    NetworkInterfaceHelperClientData* d = new NetworkInterfaceHelperClientData();
    12671257
    12681258                    d->msgCode = SVCHlpMsg::EnableStaticIpConfig;
     
    12741264                    rc = vBox->i_startSVCHelperClient(IsUACEnabled() == TRUE /* aPrivileged */,
    12751265                                                      netIfNetworkInterfaceHelperClient,
    1276                                                       static_cast<void *>(d.get()),
     1266                                                      static_cast<void *>(d),
    12771267                                                      progress);
     1268                    /* d is now owned by netIfNetworkInterfaceHelperClient(), no need to delete one here */
    12781269
    12791270                    if (SUCCEEDED(rc))
    12801271                    {
    1281                         /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    1282                         d.release();
    1283 
    12841272                        progress->WaitForCompletion(-1);
    12851273                    }
     
    13241312
    13251313                    /* create the networkInterfaceHelperClient() argument */
    1326                     std::auto_ptr<NetworkInterfaceHelperClientData>
    1327                         d(new NetworkInterfaceHelperClientData());
    1328                     AssertReturn(d.get(), E_OUTOFMEMORY);
     1314                    NetworkInterfaceHelperClientData* d = new NetworkInterfaceHelperClientData();
    13291315
    13301316                    d->msgCode = SVCHlpMsg::EnableStaticIpConfigV6;
     
    13361322                    rc = vBox->i_startSVCHelperClient(IsUACEnabled() == TRUE /* aPrivileged */,
    13371323                                                      netIfNetworkInterfaceHelperClient,
    1338                                                       static_cast<void *>(d.get()),
     1324                                                      static_cast<void *>(d),
    13391325                                                      progress);
     1326                    /* d is now owned by netIfNetworkInterfaceHelperClient(), no need to delete one here */
    13401327
    13411328                    if (SUCCEEDED(rc))
    13421329                    {
    1343                         /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    1344                         d.release();
    1345 
    13461330                        progress->WaitForCompletion(-1);
    13471331                    }
     
    13851369
    13861370                    /* create the networkInterfaceHelperClient() argument */
    1387                     std::auto_ptr<NetworkInterfaceHelperClientData>
    1388                         d(new NetworkInterfaceHelperClientData());
    1389                     AssertReturn(d.get(), E_OUTOFMEMORY);
     1371                    NetworkInterfaceHelperClientData* d = new NetworkInterfaceHelperClientData();
    13901372
    13911373                    d->msgCode = SVCHlpMsg::EnableDynamicIpConfig;
     
    13951377                    rc = vBox->i_startSVCHelperClient(IsUACEnabled() == TRUE /* aPrivileged */,
    13961378                                                      netIfNetworkInterfaceHelperClient,
    1397                                                       static_cast<void *>(d.get()),
     1379                                                      static_cast<void *>(d),
    13981380                                                      progress);
     1381                    /* d is now owned by netIfNetworkInterfaceHelperClient(), no need to delete one here */
    13991382
    14001383                    if (SUCCEEDED(rc))
    14011384                    {
    1402                         /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    1403                         d.release();
    1404 
    14051385                        progress->WaitForCompletion(-1);
    14061386                    }
     
    14441424
    14451425                    /* create the networkInterfaceHelperClient() argument */
    1446                     std::auto_ptr<NetworkInterfaceHelperClientData>
    1447                         d(new NetworkInterfaceHelperClientData());
    1448                     AssertReturn(d.get(), E_OUTOFMEMORY);
     1426                    NetworkInterfaceHelperClientData* d = new NetworkInterfaceHelperClientData();
    14491427
    14501428                    d->msgCode = SVCHlpMsg::DhcpRediscover;
     
    14541432                    rc = vBox->i_startSVCHelperClient(IsUACEnabled() == TRUE /* aPrivileged */,
    14551433                                                      netIfNetworkInterfaceHelperClient,
    1456                                                       static_cast<void *>(d.get()),
     1434                                                      static_cast<void *>(d),
    14571435                                                      progress);
     1436                    /* d is now owned by netIfNetworkInterfaceHelperClient(), no need to delete one here */
    14581437
    14591438                    if (SUCCEEDED(rc))
    14601439                    {
    1461                         /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    1462                         d.release();
    1463 
    14641440                        progress->WaitForCompletion(-1);
    14651441                    }
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