From: Graham Edgecombe Date: Tue, 25 Apr 2017 18:36:10 +0000 (+0100) Subject: Return success in custom_ext_parse_old_cb_wrap if parse_cb is NULL X-Git-Tag: OpenSSL_1_1_1-pre1~1649 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e596c68c315dc896458cd2a97ab62ec88e144e0b;p=oweals%2Fopenssl.git Return success in custom_ext_parse_old_cb_wrap if parse_cb is NULL This fixes a segfault if a NULL parse_cb is passed to SSL_CTX_add_{client,server}_custom_ext, which was supported in the pre-1.1.1 implementation. This behaviour is consistent with the other custom_ext_*_old_cb_wrap functions, and with the new SSL_CTX_add_custom_ext function. CLA: trivial Reviewed-by: Rich Salz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/3310) --- diff --git a/ssl/statem/extensions_cust.c b/ssl/statem/extensions_cust.c index 3188adea0c..6de59e2425 100644 --- a/ssl/statem/extensions_cust.c +++ b/ssl/statem/extensions_cust.c @@ -64,6 +64,9 @@ static int custom_ext_parse_old_cb_wrap(SSL *s, unsigned int ext_type, custom_ext_parse_cb_wrap *parse_cb_wrap = (custom_ext_parse_cb_wrap *)parse_arg; + if (parse_cb_wrap->parse_cb == NULL) + return 1; + return parse_cb_wrap->parse_cb(s, ext_type, in, inlen, al, parse_cb_wrap->parse_arg); }