[USER32] Zero out buffer in SYSPARAMS_Load

Felix Nawothnig felix.nawothnig at t-online.de
Tue Jul 5 22:56:12 CDT 2005


All my menu went flat because my UserPreferences key is 00000000 (too 
few zeros) which resulted SystemParametersInfo reading the setting from 
uninitialized memory...

ChangeLog:
Clear buffer before querying the registry in SYSPARAMS_Load.
-------------- next part --------------
Index: sysparams.c
===================================================================
RCS file: /home/wine/wine/dlls/user/sysparams.c,v
retrieving revision 1.26
diff -u -r1.26 sysparams.c
--- sysparams.c	5 Jul 2005 10:55:44 -0000	1.26
+++ sysparams.c	6 Jul 2005 03:50:43 -0000
@@ -81,37 +81,37 @@
 
 static const char * const DefSysColors[] =
 {
-    "Scrollbar", "192 192 192",              /* COLOR_SCROLLBAR */
-    "Background", "0 128 128",               /* COLOR_BACKGROUND */
-    "ActiveTitle", "0 0 128",                /* COLOR_ACTIVECAPTION */
-    "InactiveTitle", "128 128 128",          /* COLOR_INACTIVECAPTION */
-    "Menu", "192 192 192",                   /* COLOR_MENU */
-    "Window", "255 255 255",                 /* COLOR_WINDOW */
-    "WindowFrame", "0 0 0",                  /* COLOR_WINDOWFRAME */
-    "MenuText", "0 0 0",                     /* COLOR_MENUTEXT */
-    "WindowText", "0 0 0",                   /* COLOR_WINDOWTEXT */
-    "TitleText", "255 255 255",              /* COLOR_CAPTIONTEXT */
-    "ActiveBorder", "192 192 192",           /* COLOR_ACTIVEBORDER */
-    "InactiveBorder", "192 192 192",         /* COLOR_INACTIVEBORDER */
-    "AppWorkSpace", "128 128 128",           /* COLOR_APPWORKSPACE */
-    "Hilight", "0 0 128",                    /* COLOR_HIGHLIGHT */
-    "HilightText", "255 255 255",            /* COLOR_HIGHLIGHTTEXT */
-    "ButtonFace", "192 192 192",             /* COLOR_BTNFACE */
-    "ButtonShadow", "128 128 128",           /* COLOR_BTNSHADOW */
-    "GrayText", "128 128 128",               /* COLOR_GRAYTEXT */
-    "ButtonText", "0 0 0",                   /* COLOR_BTNTEXT */
-    "InactiveTitleText", "192 192 192",      /* COLOR_INACTIVECAPTIONTEXT */
-    "ButtonHilight", "255 255 255",          /* COLOR_BTNHIGHLIGHT */
-    "ButtonDkShadow", "0 0 0",               /* COLOR_3DDKSHADOW */
-    "ButtonLight", "224 224 224",            /* COLOR_3DLIGHT */
-    "InfoText", "0 0 0",                     /* COLOR_INFOTEXT */
-    "InfoWindow", "255 255 225",             /* COLOR_INFOBK */
-    "ButtonAlternateFace", "180 180 180",    /* COLOR_ALTERNATEBTNFACE */
-    "HotTrackingColor", "0 0 255",           /* COLOR_HOTLIGHT */
-    "GradientActiveTitle", "16 132 208",     /* COLOR_GRADIENTACTIVECAPTION */
-    "GradientInactiveTitle", "181 181 181",  /* COLOR_GRADIENTINACTIVECAPTION */
-    "MenuHilight", "0 0 0",                  /* COLOR_MENUHILIGHT */
-    "MenuBar", "192 192 192"                 /* COLOR_MENUBAR */
+    "Scrollbar", "212 208 200",      /* COLOR_SCROLLBAR           */
+    "Background", "58 110 165",      /* COLOR_BACKGROUND          */
+    "ActiveTitle", "10 36 106",      /* COLOR_ACTIVECAPTION       */
+    "InactiveTitle", "128 128 128",  /* COLOR_INACTIVECAPTION     */
+    "Menu", "212 208 200",           /* COLOR_MENU                */
+    "Window", "255 255 255",         /* COLOR_WINDOW              */
+    "WindowFrame", "0 0 0",          /* COLOR_WINDOWFRAME         */
+    "MenuText", "0 0 0",             /* COLOR_MENUTEXT            */
+    "WindowText", "0 0 0",           /* COLOR_WINDOWTEXT          */
+    "TitleText", "255 255 255",      /* COLOR_CAPTIONTEXT         */
+    "ActiveBorder", "212 208 200",   /* COLOR_ACTIVEBORDER        */
+    "InactiveBorder", "212 208 200", /* COLOR_INACTIVEBORDER      */
+    "AppWorkSpace", "128 128 128",   /* COLOR_APPWORKSPACE        */
+    "Hilight", "10 36 106",          /* COLOR_HIGHLIGHT           */
+    "HilightText", "255 255 255",    /* COLOR_HIGHLIGHTTEXT       */
+    "ButtonFace", "212 208 200",     /* COLOR_BTNFACE             */
+    "ButtonShadow", "128 128 128",   /* COLOR_BTNSHADOW           */
+    "GrayText", "128 128 128",       /* COLOR_GRAYTEXT            */
+    "ButtonText", "0 0 0",           /* COLOR_BTNTEXT             */
+    "InactiveTitleText", "212 208 200",/* COLOR_INACTIVECAPTIONTEXT */
+    "ButtonHilight", "255 255 255",  /* COLOR_BTNHIGHLIGHT        */
+    "ButtonDkShadow", "64 64 64",    /* COLOR_3DDKSHADOW          */
+    "ButtonLight", "212 208 200",    /* COLOR_3DLIGHT             */
+    "InfoText", "0 0 0",             /* COLOR_INFOTEXT            */
+    "InfoWindow", "255 255 225",     /* COLOR_INFOBK              */
+    "ButtonAlternateFace", "181 181 181",  /* COLOR_ALTERNATEBTNFACE */
+    "HotTrackingColor", "0 0 128",         /* COLOR_HOTLIGHT */
+    "GradientActiveTitle", "166 202 240",  /* COLOR_GRADIENTACTIVECAPTION */
+    "GradientInactiveTitle", "192 192 192",/* COLOR_GRADIENTINACTIVECAPTION */
+    "MenuHilight", "0 0 0",          /* COLOR_MENUHILIGHT         */
+    "MenuBar", "212 208 200"         /* COLOR_MENUBAR             */
 };
 
 /**
@@ -461,7 +461,8 @@
     if ((RegOpenKeyW( get_volatile_regkey(), lpRegKey, &hKey ) == ERROR_SUCCESS) ||
         (RegOpenKeyW( HKEY_CURRENT_USER, lpRegKey, &hKey ) == ERROR_SUCCESS))
     {
-        ret = !RegQueryValueExW( hKey, lpValName, NULL, &type, (LPBYTE)lpBuf, &count);
+        memset( lpBuf, 0, count );
+	ret = !RegQueryValueExW( hKey, lpValName, NULL, &type, (LPBYTE)lpBuf, &count);
         RegCloseKey( hKey );
     }
     return ret;


More information about the wine-patches mailing list