]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
_gnutls_version_get() returns GNUTLS_VERSION_UNKNOWN on error instead of negative.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 23 May 2014 06:22:04 +0000 (08:22 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 23 May 2014 15:49:03 +0000 (17:49 +0200)
lib/algorithms/protocols.c
lib/gnutls_handshake.c

index 1ad022013eeffb3815e769a837632ae1c1db858f..cb8034ee0639e57171338b184cade9b23f4d8411 100644 (file)
@@ -182,7 +182,7 @@ const gnutls_protocol_t *gnutls_protocol_list(void)
  */
 gnutls_protocol_t _gnutls_version_get(uint8_t major, uint8_t minor)
 {
-       int ret = -1;
+       int ret = GNUTLS_VERSION_UNKNOWN;
 
        GNUTLS_VERSION_LOOP(
                if ((p->major == major) && (p->minor == minor))
index c98c17159fca2afae9ac3873060f2bca676b0e87..50a202c7c0771ae84fd197043a7d4ef155d389b5 100644 (file)
@@ -476,6 +476,7 @@ read_client_hello(gnutls_session_t session, uint8_t * data,
                              session, data[pos], data[pos + 1]);
 
        adv_version = _gnutls_version_get(data[pos], data[pos + 1]);
+
        set_adv_version(session, data[pos], data[pos + 1]);
        pos += 2;
 
@@ -1728,11 +1729,11 @@ read_server_hello(gnutls_session_t session,
        if (_gnutls_version_is_supported(session, version) == 0) {
                gnutls_assert();
                return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
-       } else {
-               if (_gnutls_set_current_version(session, version) < 0)
-                       return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
        }
 
+       if (_gnutls_set_current_version(session, version) < 0)
+               return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+
        pos += 2;
 
        DECR_LEN(len, GNUTLS_RANDOM_SIZE);