VirtualBox

Changeset 28571 in vbox


Ignore:
Timestamp:
Apr 21, 2010 6:06:34 PM (15 years ago)
Author:
vboxsync
Message:

Guest Control: fix two assertions in debug mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/GuestImpl.cpp

    r28557 r28571  
    591591        pCBData->u32HandleId = pData->u32HandleId;
    592592        pCBData->u32Flags = pData->u32Flags;
    593        
     593
    594594        /* Allocate data buffer and copy it */
    595595        if (pData->cbData && pData->pvData)
     
    731731
    732732        /* Prepare arguments. */
    733         com::SafeArray<IN_BSTR> args(ComSafeArrayInArg(aArguments));
    734         uint32_t uNumArgs = args.size();
    735733        char **papszArgv = NULL;
    736         if(uNumArgs > 0)
    737         {
     734        uint32_t uNumArgs = 0;
     735        if(aArguments > 0)
     736        {
     737            com::SafeArray<IN_BSTR> args(ComSafeArrayInArg(aArguments));
     738            uNumArgs = args.size();
    738739            papszArgv = (char**)RTMemAlloc(sizeof(char*) * (uNumArgs + 1));
    739740            AssertPtr(papszArgv);
     
    760761
    761762                /* Prepare environment. */
    762                 com::SafeArray<IN_BSTR> env(ComSafeArrayInArg(aEnvironment));
    763 
    764763                void *pvEnv = NULL;
    765764                uint32_t uNumEnv = 0;
    766765                uint32_t cbEnv = 0;
    767 
    768                 for (unsigned i = 0; i < env.size(); i++)
     766                if (aEnvironment > 0)
    769767                {
    770                     vrc = prepareExecuteEnv(Utf8Str(env[i]).raw(), &pvEnv, &cbEnv, &uNumEnv);
    771                     if (RT_FAILURE(vrc))
    772                         break;
     768                    com::SafeArray<IN_BSTR> env(ComSafeArrayInArg(aEnvironment));
     769
     770                    for (unsigned i = 0; i < env.size(); i++)
     771                    {
     772                        vrc = prepareExecuteEnv(Utf8Str(env[i]).raw(), &pvEnv, &cbEnv, &uNumEnv);
     773                        if (RT_FAILURE(vrc))
     774                            break;
     775                    }
    773776                }
    774777
     
    993996                outputData.resize(pData->cbData);
    994997
    995             /* Fill output in supplied out buffer. */ 
     998            /* Fill output in supplied out buffer. */
    996999            memcpy(outputData.raw(), pData->pvData, pData->cbData);
    9971000            outputData.resize(pData->cbData); /* Shrink to fit actual buffer size. */
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