Index: /trunk/src/VBox/HostServices/SharedFolders/testcase/tstSharedFolderService.cpp
===================================================================
--- /trunk/src/VBox/HostServices/SharedFolders/testcase/tstSharedFolderService.cpp	(revision 66098)
+++ /trunk/src/VBox/HostServices/SharedFolders/testcase/tstSharedFolderService.cpp	(revision 66099)
@@ -755,5 +755,5 @@
 
 static int listDir(VBOXHGCMSVCFNTABLE *psvcTable, SHFLROOT root,
-                   SHFLHANDLE handle, uint32_t fFlags, uint32_t cb,
+                   SHFLHANDLE handle, uint32_t fFlags,
                    const char *pcszPath, void *pvBuf, uint32_t cbBuf,
                    uint32_t resumePoint, uint32_t *pcFiles)
@@ -766,5 +766,5 @@
     aParms[1].setUInt64(handle);
     aParms[2].setUInt32(fFlags);
-    aParms[3].setUInt32(cb);
+    aParms[3].setUInt32(cbBuf);
     if (pcszPath)
     {
@@ -1020,5 +1020,9 @@
     PRTDIR pDir = (PRTDIR)&g_aTestDirHandles[g_iNextDirHandle++ % RT_ELEMENTS(g_aTestDirHandles)];
     SHFLHANDLE Handle;
-    SHFLDIRINFO DirInfo;
+    union
+    {
+        SHFLDIRINFO DirInfo;
+        uint8_t     abBuffer[sizeof(SHFLDIRINFO) + 2 * sizeof(RTUTF16)];
+    } Buf;
     uint32_t cFiles;
     int rc;
@@ -1031,6 +1035,5 @@
                     SHFL_CF_DIRECTORY | SHFL_CF_ACCESS_READ, &Handle, NULL);
     RTTEST_CHECK_RC_OK(hTest, rc);
-    rc = listDir(&svcTable, Root, Handle, 0, sizeof (SHFLDIRINFO), NULL,
-                 &DirInfo, sizeof(DirInfo), 0, &cFiles);
+    rc = listDir(&svcTable, Root, Handle, 0, NULL, &Buf.DirInfo, sizeof(Buf), 0, &cFiles);
     RTTEST_CHECK_RC(hTest, rc, VERR_NO_MORE_FILES);
     RTTEST_CHECK_MSG(hTest, g_testRTDirReadExDir == pDir, (hTest, "Dir=%p\n", g_testRTDirReadExDir));
Index: /trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp
===================================================================
--- /trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp	(revision 66098)
+++ /trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp	(revision 66099)
@@ -1615,5 +1615,9 @@
     SHFLVOLINFO   *pSFDEntry;
     char          *pszFullPath = NULL;
-    SHFLSTRING     dummy;
+    union
+    {
+        SHFLSTRING  Dummy;
+        uint8_t     abDummy[SHFLSTRING_HEADER_SIZE + sizeof(RTUTF16)];
+    } Buf;
 
     if (pcbBuffer == 0 || pBuffer == 0 || *pcbBuffer < sizeof(SHFLVOLINFO))
@@ -1629,7 +1633,7 @@
     pSFDEntry   = (PSHFLVOLINFO)pBuffer;
 
-    ShflStringInitBuffer(&dummy, sizeof(dummy));
-    dummy.String.ucs2[0] = '\0';
-    rc = vbsfBuildFullPath(pClient, root, &dummy, sizeof(dummy), &pszFullPath, NULL);
+    ShflStringInitBuffer(&Buf.Dummy, sizeof(Buf));
+    Buf.Dummy.String.ucs2[0] = '\0';
+    rc = vbsfBuildFullPath(pClient, root, &Buf.Dummy, sizeof(Buf), &pszFullPath, NULL);
 
     if (RT_SUCCESS(rc))
