[CHARMAP] LoadSettings(): Properly use RegQueryValueEx()
authorSerge Gautherie <reactos-git_serge_171003@gautherie.fr>
Thu, 28 Nov 2019 16:11:27 +0000 (17:11 +0100)
committerVictor Perevertkin <victor@perevertkin.ru>
Fri, 29 Nov 2019 07:45:02 +0000 (10:45 +0300)
base/applications/charmap/settings.c

index 6d44a25..5a30f6d 100644 (file)
@@ -59,7 +59,8 @@ extern void LoadSettings(void)
     {
         TCHAR szBuffer[MAX_PATH];
         DWORD dwAdvancedChecked;
-        unsigned long type = REG_DWORD, size = 1024;
+        DWORD type, size = sizeof(dwAdvancedChecked);
+        LSTATUS lstatus;
 
         /* Restore last selected font */
         if (QueryStringValue(HKEY_CURRENT_USER, g_szGeneralRegKey, _T("Font"), szBuffer, (sizeof(szBuffer)/sizeof(szBuffer[0]))) == ERROR_SUCCESS)
@@ -89,10 +90,11 @@ extern void LoadSettings(void)
             }
         }
 
-        RegQueryValueEx(hKey, _T("Advanced"), NULL, &type, (LPBYTE)&dwAdvancedChecked, &size);
-
-        if(dwAdvancedChecked != FALSE)
+        lstatus = RegQueryValueEx(hKey, _T("Advanced"), NULL, &type, (LPBYTE)&dwAdvancedChecked, &size);
+        if (lstatus == ERROR_SUCCESS && type == REG_DWORD && dwAdvancedChecked != FALSE)
+        {
             SendDlgItemMessage(hCharmapDlg, IDC_CHECK_ADVANCED, BM_CLICK, MF_CHECKED, 0);
+        }
 
     RegCloseKey(hKey);
     }