Index: /trunk/src/VBox/Main/src-client/HGCM.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/HGCM.cpp	(revision 75384)
+++ /trunk/src/VBox/Main/src-client/HGCM.cpp	(revision 75385)
@@ -28,5 +28,4 @@
 
 #include <iprt/alloc.h>
-#include <iprt/alloca.h>
 #include <iprt/avl.h>
 #include <iprt/critsect.h>
@@ -1255,16 +1254,15 @@
         AssertReturn(u32 <= VBOX_HGCM_SVC_NAME_MAX_BYTES, VERR_SSM_UNEXPECTED_DATA);
 
-        char *pszServiceName = (char *)alloca(u32);
-
         /* Get the service name. */
-        rc = SSMR3GetStrZ(pSSM, pszServiceName, u32);
+        char szServiceName[VBOX_HGCM_SVC_NAME_MAX_BYTES];
+        rc = SSMR3GetStrZ(pSSM, szServiceName, u32);
         AssertRCReturn(rc, rc);
 
-        LogRel(("HGCM: Restoring [%s]\n", pszServiceName));
+        LogRel(("HGCM: Restoring [%s]\n", szServiceName));
 
         /* Resolve the service instance. */
         HGCMService *pSvc;
-        rc = ResolveService(&pSvc, pszServiceName);
-        AssertLogRelMsgReturn(pSvc, ("rc=%Rrc, %s\n", rc, pszServiceName), VERR_SSM_UNEXPECTED_DATA);
+        rc = ResolveService(&pSvc, szServiceName);
+        AssertLogRelMsgReturn(pSvc, ("rc=%Rrc, %s\n", rc, szServiceName), VERR_SSM_UNEXPECTED_DATA);
 
         /* Get the number of clients. */
@@ -1295,5 +1293,5 @@
             {
                 pSvc->ReleaseService();
-                AssertLogRelMsgFailed(("rc=%Rrc %s\n", rc, pszServiceName));
+                AssertLogRelMsgFailed(("rc=%Rrc %s\n", rc, szServiceName));
                 return rc;
             }
@@ -1304,5 +1302,5 @@
             {
                 pSvc->ReleaseService();
-                AssertLogRelMsgFailed(("rc=%Rrc %s\n", rc, pszServiceName));
+                AssertLogRelMsgFailed(("rc=%Rrc %s\n", rc, szServiceName));
                 return rc;
             }
