From: Nikos Mavrogiannopoulos Date: Thu, 26 Mar 2015 10:26:14 +0000 (+0100) Subject: ext: server_name: move name length check prior to IDN convertion X-Git-Tag: gnutls_3_4_0~116 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b31b05a7e838b4e69418cebc43374c7d8defee33;p=thirdparty%2Fgnutls.git ext: server_name: move name length check prior to IDN convertion --- diff --git a/lib/ext/server_name.c b/lib/ext/server_name.c index f661231b93..b0f5b36412 100644 --- a/lib/ext/server_name.c +++ b/lib/ext/server_name.c @@ -385,6 +385,11 @@ gnutls_server_name_set(gnutls_session_t session, return GNUTLS_E_INVALID_REQUEST; } + if (name_length == 0) { /* unset extension */ + _gnutls_ext_unset_session_data(session, GNUTLS_EXTENSION_SERVER_NAME); + return 0; + } + #ifdef HAVE_LIBIDN rc = idna_to_ascii_8z (name, &idn_name, IDNA_ALLOW_UNASSIGNED); if (rc != IDNA_SUCCESS) { @@ -400,11 +405,6 @@ gnutls_server_name_set(gnutls_session_t session, goto cleanup; } - if (name_length == 0) { /* unset extension */ - _gnutls_ext_unset_session_data(session, GNUTLS_EXTENSION_SERVER_NAME); - return 0; - } - ret = _gnutls_ext_get_session_data(session, GNUTLS_EXTENSION_SERVER_NAME,