From: Matt Caswell Date: Fri, 21 Jun 2024 09:41:55 +0000 (+0100) Subject: Correct return values for tls_construct_stoc_next_proto_neg X-Git-Tag: openssl-3.4.0-alpha1~437 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e10a3a84bf73a3e6024c338b51f2fb4e78a3dee9;p=thirdparty%2Fopenssl.git Correct return values for tls_construct_stoc_next_proto_neg Return EXT_RETURN_NOT_SENT in the event that we don't send the extension, rather than EXT_RETURN_SENT. This actually makes no difference at all to the current control flow since this return value is ignored in this case anyway. But lets make it correct anyway. Follow on from CVE-2024-5535 Reviewed-by: Tomas Mraz Reviewed-by: Neil Horman (Merged from https://github.com/openssl/openssl/pull/24716) --- diff --git a/ssl/statem/extensions_srvr.c b/ssl/statem/extensions_srvr.c index 699cc202c34..38d34f3c17b 100644 --- a/ssl/statem/extensions_srvr.c +++ b/ssl/statem/extensions_srvr.c @@ -1519,9 +1519,10 @@ EXT_RETURN tls_construct_stoc_next_proto_neg(SSL_CONNECTION *s, WPACKET *pkt, return EXT_RETURN_FAIL; } s->s3.npn_seen = 1; + return EXT_RETURN_SENT; } - return EXT_RETURN_SENT; + return EXT_RETURN_NOT_SENT; } #endif