Only fail with ERROR_INSUFFICIENT_BUFFER if the structure size is
actually too small.
This commit is contained in:
parent
3724de93d7
commit
94cd060d80
|
@ -396,7 +396,7 @@ LONG WINAPI GetVersion(void)
|
|||
BOOL16 WINAPI GetVersionEx16(OSVERSIONINFO16 *v)
|
||||
{
|
||||
WINDOWS_VERSION ver = VERSION_GetVersion();
|
||||
if (v->dwOSVersionInfoSize != sizeof(OSVERSIONINFO16))
|
||||
if (v->dwOSVersionInfoSize < sizeof(OSVERSIONINFO16))
|
||||
{
|
||||
WARN("wrong OSVERSIONINFO size from app\n");
|
||||
SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
|
@ -417,7 +417,7 @@ BOOL16 WINAPI GetVersionEx16(OSVERSIONINFO16 *v)
|
|||
BOOL WINAPI GetVersionExA(OSVERSIONINFOA *v)
|
||||
{
|
||||
WINDOWS_VERSION ver = VERSION_GetVersion();
|
||||
if (v->dwOSVersionInfoSize != sizeof(OSVERSIONINFOA))
|
||||
if (v->dwOSVersionInfoSize < sizeof(OSVERSIONINFOA))
|
||||
{
|
||||
WARN("wrong OSVERSIONINFO size from app (got: %ld, expected: %d)\n",
|
||||
v->dwOSVersionInfoSize, sizeof(OSVERSIONINFOA));
|
||||
|
@ -440,7 +440,7 @@ BOOL WINAPI GetVersionExW(OSVERSIONINFOW *v)
|
|||
{
|
||||
WINDOWS_VERSION ver = VERSION_GetVersion();
|
||||
|
||||
if (v->dwOSVersionInfoSize!=sizeof(OSVERSIONINFOW))
|
||||
if (v->dwOSVersionInfoSize < sizeof(OSVERSIONINFOW))
|
||||
{
|
||||
WARN("wrong OSVERSIONINFO size from app (got: %ld, expected: %d)\n",
|
||||
v->dwOSVersionInfoSize, sizeof(OSVERSIONINFOW));
|
||||
|
|
Loading…
Reference in New Issue