VirtualBox

Changeset 95868 in vbox


Ignore:
Timestamp:
Jul 27, 2022 1:28:13 AM (2 years ago)
Author:
vboxsync
Message:

VBoxTray/VBoxDisIf.cpp+VBoxSeamless.cpp: Replaced malloc, realloc and free with the IPRT equivalents (RTMemAlloc, RTMemRealloc, RTMemFree) - someone clearly didn't get the memo about using IPRT instead of CRT. bugref:10261

Location:
trunk/src/VBox/Additions/WINNT/VBoxTray
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp

    r95049 r95868  
    2222#define _WIN32_WINNT 0x0601
    2323#include "VBoxTray.h"
     24
     25#include <iprt/alloca.h>
     26#include <iprt/assert.h>
     27#include <iprt/errcore.h>
    2428#include <iprt/log.h>
    25 #include <iprt/errcore.h>
    26 #include <iprt/assert.h>
     29#include <iprt/mem.h>
    2730#include <iprt/system.h>
    28 
    29 #include <malloc.h>
    3031
    3132
     
    173174    UINT32 cPathInfoArray = 0;
    174175    UINT32 cModeInfoArray = 0;
    175     DISPLAYCONFIG_PATH_INFO *pPathInfoArray;
    176     DISPLAYCONFIG_MODE_INFO *pModeInfoArray;
    177176    DWORD winEr = gCtx.pfnGetDisplayConfigBufferSizes(fFlags, &cPathInfoArray, &cModeInfoArray);
    178177    if (winEr != ERROR_SUCCESS)
     
    182181    }
    183182
    184     pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)malloc(cPathInfoArray * sizeof(DISPLAYCONFIG_PATH_INFO));
     183    DISPLAYCONFIG_PATH_INFO *pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)RTMemAlloc(  cPathInfoArray
     184                                                                                    * sizeof(DISPLAYCONFIG_PATH_INFO));
    185185    if (!pPathInfoArray)
    186186    {
    187         WARN(("VBoxTray: (WDDM) malloc failed!\n"));
     187        WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
    188188        return ERROR_OUTOFMEMORY;
    189189    }
    190     pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)malloc(cModeInfoArray * sizeof(DISPLAYCONFIG_MODE_INFO));
     190    DISPLAYCONFIG_MODE_INFO *pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)RTMemAlloc(  cModeInfoArray
     191                                                                                    * sizeof(DISPLAYCONFIG_MODE_INFO));
    191192    if (!pModeInfoArray)
    192193    {
    193         WARN(("VBoxTray: (WDDM) malloc failed!\n"));
    194         free(pPathInfoArray);
     194        WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
     195        RTMemFree(pPathInfoArray);
    195196        return ERROR_OUTOFMEMORY;
    196197    }
     
    200201    {
    201202        WARN(("VBoxTray: (WDDM) Failed QueryDisplayConfig\n"));
    202         free(pPathInfoArray);
    203         free(pModeInfoArray);
     203        RTMemFree(pPathInfoArray);
     204        RTMemFree(pModeInfoArray);
    204205        return winEr;
    205206    }
     
    218219    if (pCfg->cPathInfoArray)
    219220    {
    220         pCfgDst->pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)malloc(pCfg->cPathInfoArray * sizeof (DISPLAYCONFIG_PATH_INFO));
     221        pCfgDst->pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)RTMemAlloc(pCfg->cPathInfoArray * sizeof (DISPLAYCONFIG_PATH_INFO));
    221222        if (!pCfgDst->pPathInfoArray)
    222223        {
    223             WARN(("VBoxTray: (WDDM) malloc failed!\n"));
     224            WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
    224225            return ERROR_OUTOFMEMORY;
    225226        }
     
    232233    if (pCfg->cModeInfoArray)
    233234    {
    234         pCfgDst->pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)malloc(pCfg->cModeInfoArray * sizeof (DISPLAYCONFIG_MODE_INFO));
     235        pCfgDst->pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)RTMemAlloc(pCfg->cModeInfoArray * sizeof (DISPLAYCONFIG_MODE_INFO));
    235236        if (!pCfgDst->pModeInfoArray)
    236237        {
    237             WARN(("VBoxTray: (WDDM) malloc failed!\n"));
     238            WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
    238239            if (pCfgDst->pPathInfoArray)
    239240            {
    240                 free(pCfgDst->pPathInfoArray);
     241                RTMemFree(pCfgDst->pPathInfoArray);
    241242                pCfgDst->pPathInfoArray = NULL;
    242243            }
     
    256257{
    257258    if (pCfg->pPathInfoArray)
    258         free(pCfg->pPathInfoArray);
     259        RTMemFree(pCfg->pPathInfoArray);
    259260    if (pCfg->pModeInfoArray)
    260         free(pCfg->pModeInfoArray);
     261        RTMemFree(pCfg->pModeInfoArray);
    261262    /* sanity */
    262263    memset(pCfg, 0, sizeof (*pCfg));
     
    351352    if (pCfg->pModeInfoArray)
    352353    {
    353         free(pCfg->pModeInfoArray);
     354        RTMemFree(pCfg->pModeInfoArray);
    354355        pCfg->pModeInfoArray = NULL;
    355356    }
     
    360361{
    361362    UINT32 cModeInfoArray = pCfg->cModeInfoArray + 1;
    362     DISPLAYCONFIG_MODE_INFO *pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)malloc(cModeInfoArray * sizeof (DISPLAYCONFIG_MODE_INFO));
     363    DISPLAYCONFIG_MODE_INFO *pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)RTMemAlloc(  cModeInfoArray
     364                                                                                    * sizeof (DISPLAYCONFIG_MODE_INFO));
    363365    if (!pModeInfoArray)
    364366    {
    365         WARN(("VBoxTray: (WDDM) malloc failed!\n"));
     367        WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
    366368        return ERROR_OUTOFMEMORY;
    367369    }
     
    369371    memcpy (pModeInfoArray, pCfg->pModeInfoArray, pCfg->cModeInfoArray * sizeof(DISPLAYCONFIG_MODE_INFO));
    370372    memset(&pModeInfoArray[cModeInfoArray-1], 0, sizeof (pModeInfoArray[0]));
    371     free(pCfg->pModeInfoArray);
     373    RTMemFree(pCfg->pModeInfoArray);
    372374    *pIdx = cModeInfoArray-1;
    373375    pCfg->pModeInfoArray = pModeInfoArray;
     
    525527    }
    526528
    527     DISPLAYCONFIG_PATH_INFO *pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)malloc(cDisplays * sizeof(DISPLAYCONFIG_PATH_INFO));
     529    DISPLAYCONFIG_PATH_INFO *pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)RTMemAlloc(cDisplays * sizeof(DISPLAYCONFIG_PATH_INFO));
    528530    if (!pPathInfoArray)
    529531    {
    530         WARN(("malloc failed\n"));
     532        WARN(("RTMemAlloc failed\n"));
    531533        return ERROR_OUTOFMEMORY;
    532534    }
     
    554556                {
    555557                    WARN(("VBoxTray:(WDDM) vboxDispIfWddmDcCreate Failed winEr %d\n", winEr));
    556                     free(pPathInfoArray);
     558                    RTMemFree(pPathInfoArray);
    557559                    return winEr;
    558560                }
     
    621623    }
    622624
    623     free(pCfg->pPathInfoArray);
     625    RTMemFree(pCfg->pPathInfoArray);
    624626    pCfg->pPathInfoArray = pPathInfoArray;
    625627    pCfg->cPathInfoArray = cDisplays;
     
    932934        if (pMon->paDisplayDevices)
    933935        {
    934             free(pMon->paDisplayDevices);
     936            RTMemFree(pMon->paDisplayDevices);
    935937            pMon->paDisplayDevices = NULL;
    936938        }
     
    938940        if (pMon->paDeviceModes)
    939941        {
    940             free(pMon->paDeviceModes);
     942            RTMemFree(pMon->paDeviceModes);
    941943            pMon->paDeviceModes = NULL;
    942944        }
     
    980982    if (cDevModes)
    981983    {
    982         pMon->paDisplayDevices = (DISPLAY_DEVICE*)malloc(sizeof (*paDisplayDevices) * cDevModes);
     984        pMon->paDisplayDevices = (DISPLAY_DEVICE*)RTMemAlloc(sizeof (*paDisplayDevices) * cDevModes);
    983985        Assert(pMon->paDisplayDevices);
    984986        if (!pMon->paDisplayDevices)
    985987        {
    986             Log(("malloc failed!"));
     988            Log(("RTMemAlloc failed!"));
    987989            vboxRrRetryStopLocked();
    988990            LeaveCriticalSection(&pMon->CritSect);
     
    991993        memcpy(pMon->paDisplayDevices, paDisplayDevices, sizeof (*paDisplayDevices) * cDevModes);
    992994
    993         pMon->paDeviceModes = (DEVMODE*)malloc(sizeof (*paDeviceModes) * cDevModes);
     995        pMon->paDeviceModes = (DEVMODE*)RTMemAlloc(sizeof (*paDeviceModes) * cDevModes);
    994996        Assert(pMon->paDeviceModes);
    995997        if (!pMon->paDeviceModes)
    996998        {
    997             Log(("malloc failed!"));
     999            Log(("RTMemAlloc failed!"));
    9981000            vboxRrRetryStopLocked();
    9991001            LeaveCriticalSection(&pMon->CritSect);
     
    19401942                {
    19411943                    /* No mode yet. Add the new mode to the ModeInfo array. */
    1942                     DISPLAYCONFIG_MODE_INFO *paModeInfo = (DISPLAYCONFIG_MODE_INFO *)realloc(DispCfg.pModeInfoArray, (DispCfg.cModeInfoArray + 1) * sizeof(DISPLAYCONFIG_MODE_INFO));
     1944                    DISPLAYCONFIG_MODE_INFO *paModeInfo = (DISPLAYCONFIG_MODE_INFO *)RTMemRealloc(DispCfg.pModeInfoArray,
     1945                                                                                                    (DispCfg.cModeInfoArray + 1)
     1946                                                                                                  * sizeof(paModeInfo[0]));
    19431947                    if (!paModeInfo)
    19441948                    {
     
    21662170            else
    21672171            {
    2168                 DISPLAYCONFIG_MODE_INFO *pModeInfo, *pModeInfoNew;
    2169 
    2170                 pModeInfo = (DISPLAYCONFIG_MODE_INFO *)realloc(DispCfg.pModeInfoArray, (DispCfg.cModeInfoArray + 2) * sizeof(DISPLAYCONFIG_MODE_INFO));
    2171 
     2172                DISPLAYCONFIG_MODE_INFO *pModeInfo = (DISPLAYCONFIG_MODE_INFO *)RTMemRealloc(DispCfg.pModeInfoArray,
     2173                                                                                               (DispCfg.cModeInfoArray + 2)
     2174                                                                                             * sizeof(pModeInfo[0]));
    21722175                if (!pModeInfo)
    21732176                {
     
    21822185                pPathInfo->targetInfo.id = idx;
    21832186
    2184                 pModeInfoNew = &pModeInfo[DispCfg.cModeInfoArray];
     2187                DISPLAYCONFIG_MODE_INFO *pModeInfoNew = &pModeInfo[DispCfg.cModeInfoArray];
    21852188
    21862189                pModeInfoNew->infoType = DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE;
  • trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp

    r95733 r95868  
    1616 */
    1717
     18
     19/*********************************************************************************************************************************
     20*   Header Files                                                                                                                 *
     21*********************************************************************************************************************************/
     22#define LOG_GROUP LOG_GROUP_DEFAULT
    1823#define _WIN32_WINNT 0x0500
    1924#include <iprt/win/windows.h>
    2025
     26#include <VBox/log.h>
     27
    2128#include <iprt/assert.h>
    2229#include <iprt/ldr.h>
     30#include <iprt/mem.h>
    2331#include <iprt/system.h>
    2432
    25 #include <VBoxDisplay.h>
    26 #include <VBoxHook.h>
    27 
    28 #ifdef DEBUG
    29 # define LOG_ENABLED
    30 # define LOG_GROUP LOG_GROUP_DEFAULT
    31 #endif
    32 #include <VBox/log.h>
     33#include <VBoxDisplay.h> /** @todo r=bird: Presumably the ../include/VBoxDisplay.h file rather than ./VBoxDisplay.h. WTF???  */
     34#include <VBoxHook.h> /* from ../include/ */
    3335
    3436#include "VBoxTray.h"
     
    3840
    3941
     42/*********************************************************************************************************************************
     43*   Structures and Typedefs                                                                                                      *
     44*********************************************************************************************************************************/
    4045typedef struct _VBOXSEAMLESSCONTEXT
    4146{
     
    5661} VBOX_ENUM_PARAM, *PVBOX_ENUM_PARAM;
    5762
     63
     64/*********************************************************************************************************************************
     65*   Global Variables                                                                                                             *
     66*********************************************************************************************************************************/
    5867static VBOXSEAMLESSCONTEXT g_Ctx = { 0 };
    5968
     69
     70/*********************************************************************************************************************************
     71*   Internal Functions                                                                                                           *
     72*********************************************************************************************************************************/
    6073void VBoxLogString(HANDLE hDriver, char *pszStr);
     74
     75
    6176
    6277static DECLCALLBACK(int) VBoxSeamlessInit(const PVBOXSERVICEENV pEnv, void **ppInstance)
     
    162177    if (pCtx->lpEscapeData)
    163178    {
    164         free(pCtx->lpEscapeData);
     179        RTMemFree(pCtx->lpEscapeData);
    165180        pCtx->lpEscapeData = NULL;
    166181    }
     
    318333    if (param.hrgn)
    319334    {
    320         DWORD cbSize;
    321 
    322         cbSize = GetRegionData(param.hrgn, 0, NULL);
     335        DWORD cbSize = GetRegionData(param.hrgn, 0, NULL);
    323336        if (cbSize)
    324337        {
    325             PVBOXDISPIFESCAPE lpEscapeData = (PVBOXDISPIFESCAPE)malloc(VBOXDISPIFESCAPE_SIZE(cbSize));
     338            PVBOXDISPIFESCAPE lpEscapeData = (PVBOXDISPIFESCAPE)RTMemAllocZ(VBOXDISPIFESCAPE_SIZE(cbSize));
    326339            if (lpEscapeData)
    327340            {
     
    329342                LPRGNDATA lpRgnData = VBOXDISPIFESCAPE_DATA(lpEscapeData, RGNDATA);
    330343
    331                 memset(lpRgnData, 0, cbSize);
    332344                cbSize = GetRegionData(param.hrgn, cbSize, lpRgnData);
    333 
    334345                if (cbSize)
    335346                {
     
    353364
    354365                        if (pCtx->lpEscapeData)
    355                             free(pCtx->lpEscapeData);
     366                            RTMemFree(pCtx->lpEscapeData);
    356367                        pCtx->lpEscapeData = lpEscapeData;
    357368                    }
     
    360371                }
    361372                if (lpEscapeData != pCtx->lpEscapeData)
    362                     free(lpEscapeData);
     373                    RTMemFree(lpEscapeData);
    363374            }
    364375        }
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