diff options
author | Graham Edgecombe <gpe@grahamedgecombe.com> | 2017-04-25 19:36:10 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2017-04-26 17:37:30 +0100 |
commit | e596c68c315dc896458cd2a97ab62ec88e144e0b (patch) | |
tree | 85bb287da29f8c3324fb78862bb6e8af515581a9 /ssl | |
parent | 8ed9a26616a7101ea698c189fbbb663186676075 (diff) | |
download | openssl-e596c68c315dc896458cd2a97ab62ec88e144e0b.tar.gz |
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 <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3310)
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/statem/extensions_cust.c | 3 |
1 files changed, 3 insertions, 0 deletions
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); } |