Only fail with ERROR_INSUFFICIENT_BUFFER if the structure size is
actually too small.

diff --git a/misc/version.c b/misc/version.c
index d168f88..807f434 100644
--- a/misc/version.c
+++ b/misc/version.c
@@ -396,7 +396,7 @@
 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 @@
 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 @@
 {
     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));