Skip to content

Commit e0009ad

Browse files
author
Dmitry Chapyshev
committed
[NtUser]
- Initialize cbSize filed for HIGHCONTRASTW - SOUNDSENTRY -> SOUNDSENTRYW - Add checks of size for SPI_GETHIGHCONTRAST and SPI_SETHIGHCONTRAST svn path=/trunk/; revision=72639
1 parent 0774f98 commit e0009ad

File tree

1 file changed

+39
-16
lines changed

1 file changed

+39
-16
lines changed

reactos/win32ss/user/ntuser/sysparams.c

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,8 @@ SpiUpdatePerUserSystemParameters(VOID)
310310
gspv.mousekeys.cbSize = sizeof(MOUSEKEYS);
311311
gspv.stickykeys.cbSize = sizeof(STICKYKEYS);
312312
gspv.serialkeys.cbSize = sizeof(SERIALKEYS);
313-
gspv.soundsentry.cbSize = sizeof(SOUNDSENTRY);
313+
gspv.soundsentry.cbSize = sizeof(SOUNDSENTRYW);
314+
gspv.highcontrast.cbSize = sizeof(HIGHCONTRASTW);
314315

315316
/* Make sure we don't use broken values */
316317
SpiFixupValues();
@@ -1103,6 +1104,7 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
11031104

11041105
if (!SpiSet(&gspv.filterkeys, pvParam, sizeof(FILTERKEYS), fl))
11051106
return 0;
1107+
11061108
if (fl & SPIF_UPDATEINIFILE)
11071109
{
11081110
// FIXME: What to do?
@@ -1287,28 +1289,28 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
12871289

12881290
case SPI_GETSOUNDSENTRY:
12891291
{
1290-
LPSOUNDSENTRY SoundsEntry = (LPSOUNDSENTRY)pvParam;
1292+
LPSOUNDSENTRYW SoundsEntry = (LPSOUNDSENTRYW)pvParam;
12911293

1292-
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRY))
1294+
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRYW))
12931295
return 0;
12941296

1295-
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRY))
1297+
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRYW))
12961298
return 0;
12971299

1298-
return SpiGet(pvParam, &gspv.soundsentry, sizeof(SOUNDSENTRY), fl);
1300+
return SpiGet(pvParam, &gspv.soundsentry, sizeof(SOUNDSENTRYW), fl);
12991301
}
13001302

13011303
case SPI_SETSOUNDSENTRY:
13021304
{
1303-
LPSOUNDSENTRY SoundsEntry = (LPSOUNDSENTRY)pvParam;
1305+
LPSOUNDSENTRYW SoundsEntry = (LPSOUNDSENTRYW)pvParam;
13041306

1305-
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRY))
1307+
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRYW))
13061308
return 0;
13071309

1308-
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRY))
1310+
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRYW))
13091311
return 0;
13101312

1311-
if (!SpiSet(&gspv.soundsentry, pvParam, sizeof(SOUNDSENTRY), fl))
1313+
if (!SpiSet(&gspv.soundsentry, pvParam, sizeof(SOUNDSENTRYW), fl))
13121314
return 0;
13131315

13141316
if (fl & SPIF_UPDATEINIFILE)
@@ -1319,16 +1321,37 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
13191321
}
13201322

13211323
case SPI_GETHIGHCONTRAST:
1322-
return SpiGet(pvParam, &gspv.highcontrast, sizeof(HIGHCONTRAST), fl);
1324+
{
1325+
LPHIGHCONTRASTW highcontrast = (LPHIGHCONTRASTW)pvParam;
1326+
1327+
if (uiParam != 0 && uiParam != sizeof(HIGHCONTRASTW))
1328+
return 0;
1329+
1330+
if (!highcontrast || highcontrast->cbSize != sizeof(HIGHCONTRASTW))
1331+
return 0;
1332+
1333+
return SpiGet(pvParam, &gspv.highcontrast, sizeof(HIGHCONTRASTW), fl);
1334+
}
13231335

13241336
case SPI_SETHIGHCONTRAST:
1325-
if (!SpiSet(&gspv.highcontrast, pvParam, sizeof(HIGHCONTRAST), fl))
1337+
{
1338+
LPHIGHCONTRASTW highcontrast = (LPHIGHCONTRASTW)pvParam;
1339+
1340+
if (uiParam != 0 && uiParam != sizeof(HIGHCONTRASTW))
1341+
return 0;
1342+
1343+
if (!highcontrast || highcontrast->cbSize != sizeof(HIGHCONTRASTW))
1344+
return 0;
1345+
1346+
if (!SpiSet(&gspv.highcontrast, pvParam, sizeof(HIGHCONTRASTW), fl))
13261347
return 0;
1348+
13271349
if (fl & SPIF_UPDATEINIFILE)
13281350
{
13291351
// FIXME: What to do?
13301352
}
13311353
return (UINT_PTR)KEY_DESKTOP;
1354+
}
13321355

13331356
case SPI_GETKEYBOARDPREF:
13341357
return SpiGetInt(pvParam, &gspv.bKbdPref, fl);
@@ -1881,7 +1904,7 @@ SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
18811904
break;
18821905

18831906
case SPI_GETICONMETRICS:
1884-
cbSize = sizeof(ICONMETRICS);
1907+
cbSize = sizeof(ICONMETRICSW);
18851908
break;
18861909

18871910
case SPI_GETWORKAREA:
@@ -1913,11 +1936,11 @@ SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
19131936
break;
19141937

19151938
case SPI_GETSOUNDSENTRY:
1916-
cbSize = sizeof(SOUNDSENTRY);
1939+
cbSize = sizeof(SOUNDSENTRYW);
19171940
break;
19181941

19191942
case SPI_GETHIGHCONTRAST:
1920-
cbSize = sizeof(HIGHCONTRAST);
1943+
cbSize = sizeof(HIGHCONTRASTW);
19211944
break;
19221945

19231946
case SPI_GETANIMATION:
@@ -1995,12 +2018,12 @@ SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
19952018
break;
19962019

19972020
case SPI_SETSOUNDSENTRY:
1998-
cbSize = sizeof(SOUNDSENTRY);
2021+
cbSize = sizeof(SOUNDSENTRYW);
19992022
bToUser = FALSE;
20002023
break;
20012024

20022025
case SPI_SETHIGHCONTRAST:
2003-
cbSize = sizeof(HIGHCONTRAST);
2026+
cbSize = sizeof(HIGHCONTRASTW);
20042027
bToUser = FALSE;
20052028
break;
20062029

0 commit comments

Comments
 (0)