From: Nikos Mavrogiannopoulos Date: Fri, 23 May 2014 06:22:04 +0000 (+0200) Subject: _gnutls_version_get() returns GNUTLS_VERSION_UNKNOWN on error instead of negative. X-Git-Tag: gnutls_3_3_3~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e1369328dd449620edcd6401b495be62f12e956e;p=thirdparty%2Fgnutls.git _gnutls_version_get() returns GNUTLS_VERSION_UNKNOWN on error instead of negative. --- diff --git a/lib/algorithms/protocols.c b/lib/algorithms/protocols.c index 1ad022013e..cb8034ee06 100644 --- a/lib/algorithms/protocols.c +++ b/lib/algorithms/protocols.c @@ -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)) diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c index c98c17159f..50a202c7c0 100644 --- a/lib/gnutls_handshake.c +++ b/lib/gnutls_handshake.c @@ -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);