https://git.reactos.org/?p=reactos.git;a=commitdiff;h=48d81f845dd294d71f21d3...
commit 48d81f845dd294d71f21d3312a5a16c426c4904e Author: Bișoc George fraizeraust99@gmail.com AuthorDate: Mon Nov 18 21:25:51 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO hermes.belusca-maito@reactos.org CommitDate: Mon Nov 18 21:25:51 2019 +0100
[OSK] Validate the registry value data on query (#2050)
Ensure that the value data we query on loading the registry configuration settings matches with its data size --- base/applications/osk/settings.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/base/applications/osk/settings.c b/base/applications/osk/settings.c index b1bcb210f96..1f4d9c94800 100644 --- a/base/applications/osk/settings.c +++ b/base/applications/osk/settings.c @@ -16,7 +16,7 @@ BOOL LoadDataFromRegistry(VOID) HKEY hKey; LONG lResult; DWORD dwValue; - DWORD cbData = sizeof(DWORD); + DWORD cbData = sizeof(dwValue);
/* Initialize the registry application settings */ Globals.bShowWarning = TRUE; @@ -49,7 +49,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *)&dwValue, &cbData);
- if (lResult != ERROR_SUCCESS) + if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -67,7 +67,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *)&dwValue, &cbData);
- if (lResult != ERROR_SUCCESS) + if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -85,7 +85,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *)&dwValue, &cbData);
- if (lResult != ERROR_SUCCESS) + if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -103,7 +103,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *)&dwValue, &cbData);
- if (lResult != ERROR_SUCCESS) + if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -120,7 +120,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *)&dwValue, &cbData);
- if (lResult != ERROR_SUCCESS) + if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -137,7 +137,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *)&dwValue, &cbData);
- if (lResult != ERROR_SUCCESS) + if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey);