--- linuxdcpp-1.1.0/dcpp/CryptoManager.cpp.openssl11 2011-04-17 19:57:09.000000000 +0200 +++ linuxdcpp-1.1.0/dcpp/CryptoManager.cpp 2017-09-15 12:40:05.348556988 +0200 @@ -107,12 +107,13 @@ }; if(dh) { - dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0); - dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0); + BIGNUM * dh_p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0); + BIGNUM * dh_g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0); - if (!dh->p || !dh->g) { + if (!dh_p || !dh_g) { dh.reset(); } else { + DH_set0_pqg(dh, dh_p, NULL, dh_g); SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE); SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_DH_USE); SSL_CTX_set_tmp_dh(serverContext, (DH*)dh);