Index: /trunk/src/VBox/Runtime/generic/uuid-generic.cpp
===================================================================
--- /trunk/src/VBox/Runtime/generic/uuid-generic.cpp	(revision 32978)
+++ /trunk/src/VBox/Runtime/generic/uuid-generic.cpp	(revision 32979)
@@ -255,4 +255,8 @@
     AssertPtrReturn(pszString, VERR_INVALID_PARAMETER);
 
+    bool fHaveBraces = (pszString[0] == '{' && pszString[37] == '}');
+    if (fHaveBraces)
+        pszString++;
+
 #define MY_CHECK(expr) do { if (RT_UNLIKELY(!(expr))) return VERR_INVALID_UUID_FORMAT; } while (0)
 #define MY_ISXDIGIT(ch) (g_au8Digits[(ch) & 0xff] != 0xff)
@@ -293,5 +297,5 @@
     MY_CHECK(MY_ISXDIGIT(pszString[34]));
     MY_CHECK(MY_ISXDIGIT(pszString[35]));
-    MY_CHECK(!pszString[36]);
+    MY_CHECK(!pszString[36 + (fHaveBraces ? 1 : 0)]);
 #undef MY_ISXDIGIT
 #undef MY_CHECK
@@ -421,4 +425,8 @@
     AssertPtrReturn(pwszString, VERR_INVALID_PARAMETER);
 
+    bool fHaveBraces = (pwszString[0] == '{' && pwszString[37] == '}');
+    if (fHaveBraces)
+        pwszString++;
+
 #define MY_CHECK(expr) do { if (RT_UNLIKELY(!(expr))) return VERR_INVALID_UUID_FORMAT; } while (0)
 #define MY_ISXDIGIT(ch) (!((ch) & 0xff00) && g_au8Digits[(ch) & 0xff] != 0xff)
@@ -459,5 +467,5 @@
     MY_CHECK(MY_ISXDIGIT(pwszString[34]));
     MY_CHECK(MY_ISXDIGIT(pwszString[35]));
-    MY_CHECK(!pwszString[36]);
+    MY_CHECK(!pwszString[36 + (fHaveBraces ? 1 : 0)]);
 #undef MY_ISXDIGIT
 #undef MY_CHECK
