From: Matt Caswell Date: Wed, 28 Sep 2016 12:33:41 +0000 (+0100) Subject: Fix a bug in the construction of the ClienHello SRTP extension X-Git-Tag: OpenSSL_1_1_1-pre1~3435 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7facdbd66f19f4a87cf2a5a335568c879772d92f;p=oweals%2Fopenssl.git Fix a bug in the construction of the ClienHello SRTP extension Reviewed-by: Rich Salz --- diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 501bf24fb1..230fe66da4 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -1302,7 +1302,7 @@ int ssl_add_clienthello_tlsext(SSL *s, WPACKET *pkt, int *al) } #ifndef OPENSSL_NO_SRTP if (SSL_IS_DTLS(s) && SSL_get_srtp_profiles(s)) { - STACK_OF(SRTP_PROTECTION_PROFILE) *clnt = 0; + STACK_OF(SRTP_PROTECTION_PROFILE) *clnt = SSL_get_srtp_profiles(s); SRTP_PROTECTION_PROFILE *prof; int i, ct; @@ -1322,7 +1322,10 @@ int ssl_add_clienthello_tlsext(SSL *s, WPACKET *pkt, int *al) return 0; } } - if (!WPACKET_close(pkt) || !WPACKET_close(pkt)) { + if (!WPACKET_close(pkt) + /* Add an empty use_mki value */ + || !WPACKET_put_bytes_u8(pkt, 0) + || !WPACKET_close(pkt)) { SSLerr(SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT, ERR_R_INTERNAL_ERROR); return 0; }