# HG changeset patch # User Sergey Kandaurov # Date 1628101671 -10800 # Node ID efbcecbe58056a628e83776a8a43ef24b83e480d # Parent 9b72da2b5b5751ac964a44807a92cc529dd9102d SSL: SSL_CTX_set_tmp_dh() error handling. For example, it can fail due to weak DH parameters. diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -1376,7 +1376,13 @@ ngx_ssl_dhparam(ngx_conf_t *cf, ngx_ssl_ return NGX_ERROR; } - SSL_CTX_set_tmp_dh(ssl->ctx, dh); + if (SSL_CTX_set_tmp_dh(ssl->ctx, dh) != 1) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "SSL_CTX_set_tmp_dh(\"%s\") failed", file->data); + DH_free(dh); + BIO_free(bio); + return NGX_ERROR; + } DH_free(dh); BIO_free(bio);