diff options
| author | Sam Varshavchik | 2022-05-24 00:00:05 -0400 |
|---|---|---|
| committer | Sam Varshavchik | 2022-05-24 00:02:28 -0400 |
| commit | 36657a43147aeb82a5b109d896025be3237d2296 (patch) | |
| tree | f1dad66472825b6c73fdd2608eccdb79be271189 /tcpd | |
| parent | 27df85cdad37e4945b1144ed2d4be92b40e4519f (diff) | |
| download | courier-libs-36657a43147aeb82a5b109d896025be3237d2296.tar.bz2 | |
Assorted bug fixes.
Minor read-only use after free. OpenSSL 3.0 tweaks.
Diffstat (limited to 'tcpd')
| -rw-r--r-- | tcpd/libcouriertls.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/tcpd/libcouriertls.c b/tcpd/libcouriertls.c index 22b9593..44ba121 100644 --- a/tcpd/libcouriertls.c +++ b/tcpd/libcouriertls.c @@ -426,10 +426,19 @@ static void load_dh_params(SSL_CTX *ctx, const char *filename, { if (EVP_PKEY_is_a(pkey, "DH")) { - SSL_CTX_set0_tmp_dh_pkey(ctx, pkey); - *cert_file_flags = 1; + if (SSL_CTX_set0_tmp_dh_pkey(ctx, pkey)) + { + *cert_file_flags = 1; + } + else + { + EVP_PKEY_free(pkey); + } + } + else + { + EVP_PKEY_free(pkey); } - EVP_PKEY_free(pkey); } #else |
