Index: /trunk/src/VBox/VMM/PGMSharedPage.cpp
===================================================================
--- /trunk/src/VBox/VMM/PGMSharedPage.cpp	(revision 31362)
+++ /trunk/src/VBox/VMM/PGMSharedPage.cpp	(revision 31363)
@@ -89,5 +89,6 @@
         PGMMREGISTERSHAREDMODULEREQ *ppSharedModule = NULL;
 
-        if (pSharedModules[cSharedModules])
+        if (    cSharedModules < RT_ELEMENTS(pSharedModules)
+            &&  pSharedModules[cSharedModules])
         {
             for (unsigned i = 0; i < cSharedModules; i++)
@@ -104,7 +105,10 @@
             ppSharedModule = &pSharedModules[cSharedModules];
 
-        *ppSharedModule = (PGMMREGISTERSHAREDMODULEREQ)RTMemAllocZ(RT_OFFSETOF(GMMREGISTERSHAREDMODULEREQ, aRegions[cRegions]));
-        memcpy(*ppSharedModule, pReq, RT_OFFSETOF(GMMREGISTERSHAREDMODULEREQ, aRegions[cRegions]));
-        cSharedModules++;
+        if (ppSharedModule)
+        {
+            *ppSharedModule = (PGMMREGISTERSHAREDMODULEREQ)RTMemAllocZ(RT_OFFSETOF(GMMREGISTERSHAREDMODULEREQ, aRegions[cRegions]));
+            memcpy(*ppSharedModule, pReq, RT_OFFSETOF(GMMREGISTERSHAREDMODULEREQ, aRegions[cRegions]));
+            cSharedModules++;
+        }
     }
 # endif
