]> granicus.if.org Git - curl/commitdiff
system_win32: fix version checking
authordjelinski <30433125+djelinski@users.noreply.github.com>
Wed, 25 Jul 2018 12:01:55 +0000 (14:01 +0200)
committerMarcel Raad <Marcel.Raad@teamviewer.com>
Wed, 25 Jul 2018 20:15:01 +0000 (22:15 +0200)
In the current version, VERSION_GREATER_THAN_EQUAL 6.3 will return false
when run on windows 10.0. This patch addresses that error.

Closes https://github.com/curl/curl/pull/2792

lib/system_win32.c

index cfbbf327976c455ceef1c6e4af3e20bb262c211b..89d648516dad9405be1fc64733f97dec96d0a115 100644 (file)
@@ -134,8 +134,9 @@ bool Curl_verify_windows_version(const unsigned int majorVersion,
       break;
 
     case VERSION_LESS_THAN_EQUAL:
-      if(osver.dwMajorVersion <= majorVersion &&
-         osver.dwMinorVersion <= minorVersion)
+      if(osver.dwMajorVersion < majorVersion ||
+        (osver.dwMajorVersion == majorVersion &&
+         osver.dwMinorVersion <= minorVersion))
         matched = TRUE;
       break;
 
@@ -146,8 +147,9 @@ bool Curl_verify_windows_version(const unsigned int majorVersion,
       break;
 
     case VERSION_GREATER_THAN_EQUAL:
-      if(osver.dwMajorVersion >= majorVersion &&
-         osver.dwMinorVersion >= minorVersion)
+      if(osver.dwMajorVersion > majorVersion ||
+        (osver.dwMajorVersion == majorVersion &&
+         osver.dwMinorVersion >= minorVersion))
         matched = TRUE;
       break;