Index: /trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_wgl.c
===================================================================
--- /trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_wgl.c	(revision 39735)
+++ /trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_wgl.c	(revision 39736)
@@ -206,6 +206,7 @@
         {
             DWORD cbCur = cbBufRemain;
+            DWORD type;
             lRc = RegQueryValueExA(hSubkey, aValueNames[i], NULL, /* reserved*/
-                    REG_MULTI_SZ,
+                    &type,
                     (PBYTE)pBufPos, &cbCur);
             /* exclude second null termination */
@@ -214,4 +215,9 @@
             if (ERROR_MORE_DATA == lRc)
             {
+                if (REG_MULTI_SZ != type)
+                {
+                    crWarning("unexpected data type! %d", type);
+                    continue;
+                }
                 rc = VERR_BUFFER_OVERFLOW;
                 pBufPos = NULL;
@@ -227,4 +233,10 @@
             }
 
+            if (REG_MULTI_SZ != type)
+            {
+                crWarning("unexpected data type! %d", type);
+                continue;
+            }
+
             /* succeeded */
             CRASSERT(cbCur > 0 && cbCur < UINT32_MAX/2);
@@ -275,5 +287,5 @@
 
     crDebug("renderspuAtiQuirk_ApplyForModule SUCCEEDED!");
-    crInfo("ATI Fullscreen qwirk for SUCCEEDED!");
+    crInfo("ATI Fullscreen qwirk SUCCEEDED!");
 
     return VINF_SUCCESS;
@@ -308,4 +320,5 @@
     crDebug("renderspuAtiQuirk_Apply..");
 
+    Assert(0);
     rc = renderspuAtiQuirk_GetICDDriverList(aBuf, sizeof (aBuf), &cbResult);
     if (RT_FAILURE(rc))
