Commit 05f0fb9f authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Add X509_up_ref function.



Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent 65cbf983
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@ static int cms_RecipientInfo_ktri_init(CMS_RecipientInfo *ri, X509 *recip,
    if (!cms_set1_SignerIdentifier(ktri->rid, recip, idtype))
        return 0;

    CRYPTO_add(&recip->references, 1, CRYPTO_LOCK_X509);
    X509_up_ref(recip);
    CRYPTO_add(&pk->references, 1, CRYPTO_LOCK_EVP_PKEY);
    ktri->pkey = pk;
    ktri->recip = recip;
+2 −2
Original line number Diff line number Diff line
@@ -457,7 +457,7 @@ int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert)
    int r;
    r = CMS_add0_cert(cms, cert);
    if (r > 0)
        CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
        X509_up_ref(cert);
    return r;
}

@@ -542,7 +542,7 @@ STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms)
                sk_X509_pop_free(certs, X509_free);
                return NULL;
            }
            CRYPTO_add(&cch->d.certificate->references, 1, CRYPTO_LOCK_X509);
            X509_up_ref(cch->d.certificate);
        }
    }
    return certs;
+2 −2
Original line number Diff line number Diff line
@@ -285,7 +285,7 @@ CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms,
    X509_check_purpose(signer, -1, -1);

    CRYPTO_add(&pk->references, 1, CRYPTO_LOCK_EVP_PKEY);
    CRYPTO_add(&signer->references, 1, CRYPTO_LOCK_X509);
    X509_up_ref(signer);

    si->pkey = pk;
    si->signer = signer;
@@ -485,7 +485,7 @@ STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms)
void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer)
{
    if (signer) {
        CRYPTO_add(&signer->references, 1, CRYPTO_LOCK_X509);
        X509_up_ref(signer);
        EVP_PKEY_free(si->pkey);
        si->pkey = X509_get_pubkey(signer);
    }
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert)

    if (!sk_X509_push(sig->certs, cert))
        return 0;
    CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
    X509_up_ref(cert);
    return 1;
}

+1 −1
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert)

    if (!sk_X509_push(resp->certs, cert))
        return 0;
    CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
    X509_up_ref(cert);
    return 1;
}

Loading