X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fssl_cert.c;h=a2682daaedd951321a57ccc8e0e1bf8b387ca6dc;hp=c48aa20923b647cec39756b0e7a8c4143cbdc99f;hb=a43526302f3049f2eed3fc2ea538c14a5f3ff956;hpb=febec8ff238bf4e9fe9f18922b221c4c9a17e145 diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index c48aa20923..a2682daaed 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -270,6 +270,7 @@ CERT *ssl_cert_dup(CERT *cert) } } ret->ecdh_tmp_cb = cert->ecdh_tmp_cb; + ret->ecdh_tmp_auto = cert->ecdh_tmp_auto; #endif for (i = 0; i < SSL_PKEY_NUM; i++) @@ -339,6 +340,9 @@ CERT *ssl_cert_dup(CERT *cert) * will be set during handshake. */ ssl_cert_set_default_md(ret); + /* Sigalgs set to NULL as we get these from handshake too */ + ret->sigalgs = NULL; + ret->sigalgslen = 0; return(ret); @@ -418,6 +422,8 @@ void ssl_cert_free(CERT *c) EVP_PKEY_free(c->pkeys[i].publickey); #endif } + if (c->sigalgs) + OPENSSL_free(c->sigalgs); OPENSSL_free(c); }