Index: /trunk/src/VBox/HostServices/SharedFolders/mappings.cpp
===================================================================
--- /trunk/src/VBox/HostServices/SharedFolders/mappings.cpp	(revision 41012)
+++ /trunk/src/VBox/HostServices/SharedFolders/mappings.cpp	(revision 41013)
@@ -430,6 +430,16 @@
     if (pFolderMapping->fValid == true)
     {
-        pString->u16Length = pFolderMapping->pMapName->u16Length;
-        memcpy(pString->String.ucs2, pFolderMapping->pMapName->String.ucs2, pString->u16Size);
+        if (pString->u16Size < pFolderMapping->pMapName->u16Size)
+        {
+            Log(("vbsfMappingsQuery: passed string too short (%d < %d bytes)!\n",
+                pString->u16Size,  pFolderMapping->pMapName->u16Size));
+            rc = VERR_INVALID_PARAMETER;
+        }
+        else
+        {
+            pString->u16Length = pFolderMapping->pMapName->u16Length;
+            memcpy(pString->String.ucs2, pFolderMapping->pMapName->String.ucs2,
+                   pFolderMapping->pMapName->u16Size);
+        }
     }
     else
