Index: /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp	(revision 64953)
+++ /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp	(revision 64954)
@@ -1426,22 +1426,25 @@
     };
 
-    char *pszName = strName.mutableRaw();
-    ssize_t cReplacements = RTStrPurgeComplementSet(pszName, s_uszValidRangePairs, '_');
-    Assert(cReplacements >= 0);
-    NOREF(cReplacements);
-
-    /* No leading dot or dash. */
-    if (pszName[0] == '.' || pszName[0] == '-')
-        pszName[0] = '_';
-
-    /* No trailing dot. */
-    if (pszName[strName.length() - 1] == '.')
-        pszName[strName.length() - 1] = '_';
-
-    /* Mangle leading and trailing spaces. */
-    for (size_t i = 0; pszName[i] == ' '; ++i)
-       pszName[i] = '_';
-    for (size_t i = strName.length() - 1; i && pszName[i] == ' '; --i)
-       pszName[i] = '_';
+    if (!strName.isEmpty())
+    {
+        char *pszName = strName.mutableRaw();
+        ssize_t cReplacements = RTStrPurgeComplementSet(pszName, s_uszValidRangePairs, '_');
+        Assert(cReplacements >= 0);
+        NOREF(cReplacements);
+
+        /* No leading dot or dash. */
+        if (pszName[0] == '.' || pszName[0] == '-')
+            pszName[0] = '_';
+
+        /* No trailing dot. */
+        if (pszName[strName.length() - 1] == '.')
+            pszName[strName.length() - 1] = '_';
+
+        /* Mangle leading and trailing spaces. */
+        for (size_t i = 0; pszName[i] == ' '; ++i)
+            pszName[i] = '_';
+        for (size_t i = strName.length() - 1; i && pszName[i] == ' '; --i)
+            pszName[i] = '_';
+    }
 }
 
