Set reference count earlier

Backport of 0e04674e96

Reviewed-by: Steve Henson <steve@openssl.org>

RT #4047, #4110, MR #1356
This commit is contained in:
Kurt Roeckx 2015-11-24 21:53:40 +01:00
parent fc45da0535
commit 0b5f9ce37b
2 changed files with 2 additions and 2 deletions

View file

@ -206,6 +206,7 @@ CERT *ssl_cert_dup(CERT *cert)
memset(ret, 0, sizeof(CERT));
ret->references = 1;
ret->key = &ret->pkeys[cert->key - &cert->pkeys[0]];
/*
* or ret->key = ret->pkeys + (cert->key - cert->pkeys), if you find that
@ -282,7 +283,6 @@ CERT *ssl_cert_dup(CERT *cert)
* chain is held inside SSL_CTX
*/
ret->references = 1;
/*
* Set digests to defaults. NB: we don't copy existing values as they
* will be set during handshake.

View file

@ -307,6 +307,7 @@ SSL *SSL_new(SSL_CTX *ctx)
s->options = ctx->options;
s->mode = ctx->mode;
s->max_cert_list = ctx->max_cert_list;
s->references = 1;
if (ctx->cert != NULL) {
/*
@ -375,7 +376,6 @@ SSL *SSL_new(SSL_CTX *ctx)
if (!s->method->ssl_new(s))
goto err;
s->references = 1;
s->server = (ctx->method->ssl_accept == ssl_undefined_function) ? 0 : 1;
SSL_clear(s);