Commit 0b5f9ce3 authored by Kurt Roeckx's avatar Kurt Roeckx
Browse files

Set reference count earlier



Backport of 0e04674e

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

RT #4047, #4110, MR #1356
parent fc45da05
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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.
+1 −1
Original line number Diff line number Diff line
@@ -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);