From: Nikos Mavrogiannopoulos Date: Mon, 29 Feb 2016 08:57:40 +0000 (+0100) Subject: ecc: optimized extension parsing X-Git-Tag: gnutls_3_5_0~290 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c9a6fd2bf2c8e0b5efbc851460f7917be511d114;p=thirdparty%2Fgnutls.git ecc: optimized extension parsing --- diff --git a/lib/ext/ecc.c b/lib/ext/ecc.c index d8cfbeb108..ec9fc25bfb 100644 --- a/lib/ext/ecc.c +++ b/lib/ext/ecc.c @@ -220,11 +220,18 @@ _gnutls_supported_ecc_pf_recv_params(gnutls_session_t session, (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION); len = data[0]; + if (len < 1) + return + gnutls_assert_val + (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION); + DECR_LEN(data_size, len + 1); for (i = 1; i <= len; i++) - if (data[i] == 0) /* uncompressed */ + if (data[i] == 0) { /* uncompressed */ uncompressed = 1; + break; + } if (uncompressed == 0) return