Made GetVersionEx() behave in accordance with the specification with
regard to error handling.

diff --git a/misc/version.c b/misc/version.c
index e5d5028..b1671be 100644
--- a/misc/version.c
+++ b/misc/version.c
@@ -17,6 +17,7 @@
 #include "debugtools.h"
 #include "neexe.h"
 #include "winversion.h"
+#include "winerror.h"
 
 DEFAULT_DEBUG_CHANNEL(ver)
 
@@ -331,6 +332,7 @@
     if (v->dwOSVersionInfoSize != sizeof(OSVERSIONINFO16))
     {
         WARN("wrong OSVERSIONINFO size from app");
+        SetLastError(ERROR_INSUFFICIENT_BUFFER);
         return FALSE;
     }
     v->dwMajorVersion = VersionData[ver].getVersionEx.dwMajorVersion;
@@ -351,6 +353,7 @@
     if (v->dwOSVersionInfoSize != sizeof(OSVERSIONINFOA))
     {
         WARN("wrong OSVERSIONINFO size from app");
+        SetLastError(ERROR_INSUFFICIENT_BUFFER);
         return FALSE;
     }
     v->dwMajorVersion = VersionData[ver].getVersionEx.dwMajorVersion;
@@ -372,6 +375,7 @@
     if (v->dwOSVersionInfoSize!=sizeof(OSVERSIONINFOW))
     {
         WARN("wrong OSVERSIONINFO size from app");
+        SetLastError(ERROR_INSUFFICIENT_BUFFER);
         return FALSE;
     }
     v->dwMajorVersion = VersionData[ver].getVersionEx.dwMajorVersion;