mirror of
https://github.com/reactos/wine.git
synced 2024-11-29 22:50:43 +00:00
oleaut32: Return FALSE from SystemTimeToVariantTime if day > 31 or year is negative.
This commit is contained in:
parent
eebc40f2b3
commit
8306518424
@ -1727,6 +1727,10 @@ static void test_SystemTimeToVariantTime(void)
|
||||
ST2DT(2,1,1980,0,0,0,0,TRUE,29222.0);
|
||||
ST2DT(0,1,1980,0,0,0,0,TRUE,29220.0); /* Rolls back to 31 Dec 1899 */
|
||||
ST2DT(1,13,1980,0,0,0,0,FALSE,29587.0); /* Fails on invalid month */
|
||||
ST2DT(32,1,1980,0,0,0,0,FALSE,0.0); /* Fails on invalid day */
|
||||
ST2DT(1,1,-1,0,0,0,0,FALSE,0.0); /* Fails on invalid year */
|
||||
ST2DT(1,1,10000,0,0,0,0,FALSE,0.0); /* Fails on invalid year */
|
||||
ST2DT(1,1,9999,0,0,0,0,TRUE,2958101.0); /* 9999 is last valid year */
|
||||
ST2DT(31,12,90,0,0,0,0,TRUE,33238.0); /* 30 <= year < 100 is 1900+year */
|
||||
ST2DT(1,1,30,0,0,0,0,TRUE,10959.0); /* 30 <= year < 100 is 1900+year */
|
||||
ST2DT(1,1,29,0,0,0,0,TRUE,47119.0); /* 0 <= year < 30 is 2000+year */
|
||||
|
@ -1312,6 +1312,10 @@ INT WINAPI SystemTimeToVariantTime(LPSYSTEMTIME lpSt, double *pDateOut)
|
||||
|
||||
if (lpSt->wMonth > 12)
|
||||
return FALSE;
|
||||
if (lpSt->wDay > 31)
|
||||
return FALSE;
|
||||
if ((short)lpSt->wYear < 0)
|
||||
return FALSE;
|
||||
|
||||
ud.st = *lpSt;
|
||||
return VarDateFromUdate(&ud, 0, pDateOut) == S_OK;
|
||||
|
Loading…
Reference in New Issue
Block a user