Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp	(revision 95867)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp	(revision 95868)
@@ -22,10 +22,11 @@
 #define _WIN32_WINNT 0x0601
 #include "VBoxTray.h"
+
+#include <iprt/alloca.h>
+#include <iprt/assert.h>
+#include <iprt/errcore.h>
 #include <iprt/log.h>
-#include <iprt/errcore.h>
-#include <iprt/assert.h>
+#include <iprt/mem.h>
 #include <iprt/system.h>
-
-#include <malloc.h>
 
 
@@ -173,6 +174,4 @@
     UINT32 cPathInfoArray = 0;
     UINT32 cModeInfoArray = 0;
-    DISPLAYCONFIG_PATH_INFO *pPathInfoArray;
-    DISPLAYCONFIG_MODE_INFO *pModeInfoArray;
     DWORD winEr = gCtx.pfnGetDisplayConfigBufferSizes(fFlags, &cPathInfoArray, &cModeInfoArray);
     if (winEr != ERROR_SUCCESS)
@@ -182,15 +181,17 @@
     }
 
-    pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)malloc(cPathInfoArray * sizeof(DISPLAYCONFIG_PATH_INFO));
+    DISPLAYCONFIG_PATH_INFO *pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)RTMemAlloc(  cPathInfoArray
+                                                                                    * sizeof(DISPLAYCONFIG_PATH_INFO));
     if (!pPathInfoArray)
     {
-        WARN(("VBoxTray: (WDDM) malloc failed!\n"));
+        WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
         return ERROR_OUTOFMEMORY;
     }
-    pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)malloc(cModeInfoArray * sizeof(DISPLAYCONFIG_MODE_INFO));
+    DISPLAYCONFIG_MODE_INFO *pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)RTMemAlloc(  cModeInfoArray
+                                                                                    * sizeof(DISPLAYCONFIG_MODE_INFO));
     if (!pModeInfoArray)
     {
-        WARN(("VBoxTray: (WDDM) malloc failed!\n"));
-        free(pPathInfoArray);
+        WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
+        RTMemFree(pPathInfoArray);
         return ERROR_OUTOFMEMORY;
     }
@@ -200,6 +201,6 @@
     {
         WARN(("VBoxTray: (WDDM) Failed QueryDisplayConfig\n"));
-        free(pPathInfoArray);
-        free(pModeInfoArray);
+        RTMemFree(pPathInfoArray);
+        RTMemFree(pModeInfoArray);
         return winEr;
     }
@@ -218,8 +219,8 @@
     if (pCfg->cPathInfoArray)
     {
-        pCfgDst->pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)malloc(pCfg->cPathInfoArray * sizeof (DISPLAYCONFIG_PATH_INFO));
+        pCfgDst->pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)RTMemAlloc(pCfg->cPathInfoArray * sizeof (DISPLAYCONFIG_PATH_INFO));
         if (!pCfgDst->pPathInfoArray)
         {
-            WARN(("VBoxTray: (WDDM) malloc failed!\n"));
+            WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
             return ERROR_OUTOFMEMORY;
         }
@@ -232,11 +233,11 @@
     if (pCfg->cModeInfoArray)
     {
-        pCfgDst->pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)malloc(pCfg->cModeInfoArray * sizeof (DISPLAYCONFIG_MODE_INFO));
+        pCfgDst->pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)RTMemAlloc(pCfg->cModeInfoArray * sizeof (DISPLAYCONFIG_MODE_INFO));
         if (!pCfgDst->pModeInfoArray)
         {
-            WARN(("VBoxTray: (WDDM) malloc failed!\n"));
+            WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
             if (pCfgDst->pPathInfoArray)
             {
-                free(pCfgDst->pPathInfoArray);
+                RTMemFree(pCfgDst->pPathInfoArray);
                 pCfgDst->pPathInfoArray = NULL;
             }
@@ -256,7 +257,7 @@
 {
     if (pCfg->pPathInfoArray)
-        free(pCfg->pPathInfoArray);
+        RTMemFree(pCfg->pPathInfoArray);
     if (pCfg->pModeInfoArray)
-        free(pCfg->pModeInfoArray);
+        RTMemFree(pCfg->pModeInfoArray);
     /* sanity */
     memset(pCfg, 0, sizeof (*pCfg));
@@ -351,5 +352,5 @@
     if (pCfg->pModeInfoArray)
     {
-        free(pCfg->pModeInfoArray);
+        RTMemFree(pCfg->pModeInfoArray);
         pCfg->pModeInfoArray = NULL;
     }
@@ -360,8 +361,9 @@
 {
     UINT32 cModeInfoArray = pCfg->cModeInfoArray + 1;
-    DISPLAYCONFIG_MODE_INFO *pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)malloc(cModeInfoArray * sizeof (DISPLAYCONFIG_MODE_INFO));
+    DISPLAYCONFIG_MODE_INFO *pModeInfoArray = (DISPLAYCONFIG_MODE_INFO *)RTMemAlloc(  cModeInfoArray
+                                                                                    * sizeof (DISPLAYCONFIG_MODE_INFO));
     if (!pModeInfoArray)
     {
-        WARN(("VBoxTray: (WDDM) malloc failed!\n"));
+        WARN(("VBoxTray: (WDDM) RTMemAlloc failed!\n"));
         return ERROR_OUTOFMEMORY;
     }
@@ -369,5 +371,5 @@
     memcpy (pModeInfoArray, pCfg->pModeInfoArray, pCfg->cModeInfoArray * sizeof(DISPLAYCONFIG_MODE_INFO));
     memset(&pModeInfoArray[cModeInfoArray-1], 0, sizeof (pModeInfoArray[0]));
-    free(pCfg->pModeInfoArray);
+    RTMemFree(pCfg->pModeInfoArray);
     *pIdx = cModeInfoArray-1;
     pCfg->pModeInfoArray = pModeInfoArray;
@@ -525,8 +527,8 @@
     }
 
-    DISPLAYCONFIG_PATH_INFO *pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)malloc(cDisplays * sizeof(DISPLAYCONFIG_PATH_INFO));
+    DISPLAYCONFIG_PATH_INFO *pPathInfoArray = (DISPLAYCONFIG_PATH_INFO *)RTMemAlloc(cDisplays * sizeof(DISPLAYCONFIG_PATH_INFO));
     if (!pPathInfoArray)
     {
-        WARN(("malloc failed\n"));
+        WARN(("RTMemAlloc failed\n"));
         return ERROR_OUTOFMEMORY;
     }
@@ -554,5 +556,5 @@
                 {
                     WARN(("VBoxTray:(WDDM) vboxDispIfWddmDcCreate Failed winEr %d\n", winEr));
-                    free(pPathInfoArray);
+                    RTMemFree(pPathInfoArray);
                     return winEr;
                 }
@@ -621,5 +623,5 @@
     }
 
-    free(pCfg->pPathInfoArray);
+    RTMemFree(pCfg->pPathInfoArray);
     pCfg->pPathInfoArray = pPathInfoArray;
     pCfg->cPathInfoArray = cDisplays;
@@ -932,5 +934,5 @@
         if (pMon->paDisplayDevices)
         {
-            free(pMon->paDisplayDevices);
+            RTMemFree(pMon->paDisplayDevices);
             pMon->paDisplayDevices = NULL;
         }
@@ -938,5 +940,5 @@
         if (pMon->paDeviceModes)
         {
-            free(pMon->paDeviceModes);
+            RTMemFree(pMon->paDeviceModes);
             pMon->paDeviceModes = NULL;
         }
@@ -980,9 +982,9 @@
     if (cDevModes)
     {
-        pMon->paDisplayDevices = (DISPLAY_DEVICE*)malloc(sizeof (*paDisplayDevices) * cDevModes);
+        pMon->paDisplayDevices = (DISPLAY_DEVICE*)RTMemAlloc(sizeof (*paDisplayDevices) * cDevModes);
         Assert(pMon->paDisplayDevices);
         if (!pMon->paDisplayDevices)
         {
-            Log(("malloc failed!"));
+            Log(("RTMemAlloc failed!"));
             vboxRrRetryStopLocked();
             LeaveCriticalSection(&pMon->CritSect);
@@ -991,9 +993,9 @@
         memcpy(pMon->paDisplayDevices, paDisplayDevices, sizeof (*paDisplayDevices) * cDevModes);
 
-        pMon->paDeviceModes = (DEVMODE*)malloc(sizeof (*paDeviceModes) * cDevModes);
+        pMon->paDeviceModes = (DEVMODE*)RTMemAlloc(sizeof (*paDeviceModes) * cDevModes);
         Assert(pMon->paDeviceModes);
         if (!pMon->paDeviceModes)
         {
-            Log(("malloc failed!"));
+            Log(("RTMemAlloc failed!"));
             vboxRrRetryStopLocked();
             LeaveCriticalSection(&pMon->CritSect);
@@ -1940,5 +1942,7 @@
                 {
                     /* No mode yet. Add the new mode to the ModeInfo array. */
-                    DISPLAYCONFIG_MODE_INFO *paModeInfo = (DISPLAYCONFIG_MODE_INFO *)realloc(DispCfg.pModeInfoArray, (DispCfg.cModeInfoArray + 1) * sizeof(DISPLAYCONFIG_MODE_INFO));
+                    DISPLAYCONFIG_MODE_INFO *paModeInfo = (DISPLAYCONFIG_MODE_INFO *)RTMemRealloc(DispCfg.pModeInfoArray,
+                                                                                                    (DispCfg.cModeInfoArray + 1)
+                                                                                                  * sizeof(paModeInfo[0]));
                     if (!paModeInfo)
                     {
@@ -2166,8 +2170,7 @@
             else
             {
-                DISPLAYCONFIG_MODE_INFO *pModeInfo, *pModeInfoNew;
-
-                pModeInfo = (DISPLAYCONFIG_MODE_INFO *)realloc(DispCfg.pModeInfoArray, (DispCfg.cModeInfoArray + 2) * sizeof(DISPLAYCONFIG_MODE_INFO));
-
+                DISPLAYCONFIG_MODE_INFO *pModeInfo = (DISPLAYCONFIG_MODE_INFO *)RTMemRealloc(DispCfg.pModeInfoArray,
+                                                                                               (DispCfg.cModeInfoArray + 2)
+                                                                                             * sizeof(pModeInfo[0]));
                 if (!pModeInfo)
                 {
@@ -2182,5 +2185,5 @@
                 pPathInfo->targetInfo.id = idx;
 
-                pModeInfoNew = &pModeInfo[DispCfg.cModeInfoArray];
+                DISPLAYCONFIG_MODE_INFO *pModeInfoNew = &pModeInfo[DispCfg.cModeInfoArray];
 
                 pModeInfoNew->infoType = DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE;
Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp	(revision 95867)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp	(revision 95868)
@@ -16,19 +16,21 @@
  */
 
+
+/*********************************************************************************************************************************
+*   Header Files                                                                                                                 *
+*********************************************************************************************************************************/
+#define LOG_GROUP LOG_GROUP_DEFAULT
 #define _WIN32_WINNT 0x0500
 #include <iprt/win/windows.h>
 
+#include <VBox/log.h>
+
 #include <iprt/assert.h>
 #include <iprt/ldr.h>
+#include <iprt/mem.h>
 #include <iprt/system.h>
 
-#include <VBoxDisplay.h>
-#include <VBoxHook.h>
-
-#ifdef DEBUG
-# define LOG_ENABLED
-# define LOG_GROUP LOG_GROUP_DEFAULT
-#endif
-#include <VBox/log.h>
+#include <VBoxDisplay.h> /** @todo r=bird: Presumably the ../include/VBoxDisplay.h file rather than ./VBoxDisplay.h. WTF???  */
+#include <VBoxHook.h> /* from ../include/ */
 
 #include "VBoxTray.h"
@@ -38,4 +40,7 @@
 
 
+/*********************************************************************************************************************************
+*   Structures and Typedefs                                                                                                      *
+*********************************************************************************************************************************/
 typedef struct _VBOXSEAMLESSCONTEXT
 {
@@ -56,7 +61,17 @@
 } VBOX_ENUM_PARAM, *PVBOX_ENUM_PARAM;
 
+
+/*********************************************************************************************************************************
+*   Global Variables                                                                                                             *
+*********************************************************************************************************************************/
 static VBOXSEAMLESSCONTEXT g_Ctx = { 0 };
 
+
+/*********************************************************************************************************************************
+*   Internal Functions                                                                                                           *
+*********************************************************************************************************************************/
 void VBoxLogString(HANDLE hDriver, char *pszStr);
+
+
 
 static DECLCALLBACK(int) VBoxSeamlessInit(const PVBOXSERVICEENV pEnv, void **ppInstance)
@@ -162,5 +177,5 @@
     if (pCtx->lpEscapeData)
     {
-        free(pCtx->lpEscapeData);
+        RTMemFree(pCtx->lpEscapeData);
         pCtx->lpEscapeData = NULL;
     }
@@ -318,10 +333,8 @@
     if (param.hrgn)
     {
-        DWORD cbSize;
-
-        cbSize = GetRegionData(param.hrgn, 0, NULL);
+        DWORD cbSize = GetRegionData(param.hrgn, 0, NULL);
         if (cbSize)
         {
-            PVBOXDISPIFESCAPE lpEscapeData = (PVBOXDISPIFESCAPE)malloc(VBOXDISPIFESCAPE_SIZE(cbSize));
+            PVBOXDISPIFESCAPE lpEscapeData = (PVBOXDISPIFESCAPE)RTMemAllocZ(VBOXDISPIFESCAPE_SIZE(cbSize));
             if (lpEscapeData)
             {
@@ -329,7 +342,5 @@
                 LPRGNDATA lpRgnData = VBOXDISPIFESCAPE_DATA(lpEscapeData, RGNDATA);
 
-                memset(lpRgnData, 0, cbSize);
                 cbSize = GetRegionData(param.hrgn, cbSize, lpRgnData);
-
                 if (cbSize)
                 {
@@ -353,5 +364,5 @@
 
                         if (pCtx->lpEscapeData)
-                            free(pCtx->lpEscapeData);
+                            RTMemFree(pCtx->lpEscapeData);
                         pCtx->lpEscapeData = lpEscapeData;
                     }
@@ -360,5 +371,5 @@
                 }
                 if (lpEscapeData != pCtx->lpEscapeData)
-                    free(lpEscapeData);
+                    RTMemFree(lpEscapeData);
             }
         }
