Coverage Report

Created: 2024-11-21 07:03

/src/openssl/include/internal/refcount.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
3
 *
4
 * Licensed under the Apache License 2.0 (the "License").  You may not use
5
 * this file except in compliance with the License.  You can obtain a copy
6
 * in the file LICENSE in the source distribution or at
7
 * https://www.openssl.org/source/license.html
8
 */
9
#ifndef OSSL_INTERNAL_REFCOUNT_H
10
# define OSSL_INTERNAL_REFCOUNT_H
11
# pragma once
12
13
# include <openssl/e_os2.h>
14
# include <openssl/trace.h>
15
# include <openssl/err.h>
16
17
# if defined(OPENSSL_THREADS) && !defined(OPENSSL_DEV_NO_ATOMICS)
18
#  if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L \
19
      && !defined(__STDC_NO_ATOMICS__)
20
#   include <stdatomic.h>
21
#   define HAVE_C11_ATOMICS
22
#  endif
23
24
#  if defined(HAVE_C11_ATOMICS) && defined(ATOMIC_INT_LOCK_FREE) \
25
      && ATOMIC_INT_LOCK_FREE > 0
26
27
#   define HAVE_ATOMICS 1
28
29
typedef struct {
30
    _Atomic int val;
31
} CRYPTO_REF_COUNT;
32
33
static inline int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
34
1.76M
{
35
1.76M
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
1.76M
    return 1;
37
1.76M
}
Unexecuted instantiation: bio_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: bio_meth.c:CRYPTO_UP_REF
Unexecuted instantiation: bio_sock.c:CRYPTO_UP_REF
Unexecuted instantiation: bio_sock2.c:CRYPTO_UP_REF
Unexecuted instantiation: bss_mem.c:CRYPTO_UP_REF
Unexecuted instantiation: bss_sock.c:CRYPTO_UP_REF
Unexecuted instantiation: curve25519.c:CRYPTO_UP_REF
Unexecuted instantiation: curve448.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_key.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_lib.c:CRYPTO_UP_REF
digest.c:CRYPTO_UP_REF
Line
Count
Source
34
1.42M
{
35
1.42M
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
1.42M
    return 1;
37
1.42M
}
Unexecuted instantiation: dsa_gen.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_key.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_ossl.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_sign.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_vrf.c:CRYPTO_UP_REF
Unexecuted instantiation: e_aes.c:CRYPTO_UP_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:CRYPTO_UP_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:CRYPTO_UP_REF
Unexecuted instantiation: e_aria.c:CRYPTO_UP_REF
Unexecuted instantiation: e_bf.c:CRYPTO_UP_REF
Unexecuted instantiation: e_camellia.c:CRYPTO_UP_REF
Unexecuted instantiation: e_cast.c:CRYPTO_UP_REF
Unexecuted instantiation: e_chacha20_poly1305.c:CRYPTO_UP_REF
Unexecuted instantiation: e_des.c:CRYPTO_UP_REF
Unexecuted instantiation: e_des3.c:CRYPTO_UP_REF
Unexecuted instantiation: e_idea.c:CRYPTO_UP_REF
Unexecuted instantiation: e_rc2.c:CRYPTO_UP_REF
Unexecuted instantiation: e_rc4.c:CRYPTO_UP_REF
Unexecuted instantiation: e_rc4_hmac_md5.c:CRYPTO_UP_REF
Unexecuted instantiation: e_rc5.c:CRYPTO_UP_REF
Unexecuted instantiation: e_seed.c:CRYPTO_UP_REF
Unexecuted instantiation: e_sm4.c:CRYPTO_UP_REF
Unexecuted instantiation: e_xcbc_d.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_asn1.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_curve.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_cvt.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_key.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_kmeth.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_mult.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_oct.c:CRYPTO_UP_REF
Unexecuted instantiation: ecdh_ossl.c:CRYPTO_UP_REF
Unexecuted instantiation: ecdsa_ossl.c:CRYPTO_UP_REF
Unexecuted instantiation: ecdsa_sign.c:CRYPTO_UP_REF
Unexecuted instantiation: ecdsa_vrf.c:CRYPTO_UP_REF
Unexecuted instantiation: ecp_mont.c:CRYPTO_UP_REF
Unexecuted instantiation: ecp_nist.c:CRYPTO_UP_REF
Unexecuted instantiation: ecp_oct.c:CRYPTO_UP_REF
Unexecuted instantiation: ecp_smpl.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_init.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_list.c:CRYPTO_UP_REF
evp_enc.c:CRYPTO_UP_REF
Line
Count
Source
34
137k
{
35
137k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
137k
    return 1;
37
137k
}
Unexecuted instantiation: evp_fetch.c:CRYPTO_UP_REF
Unexecuted instantiation: evp_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: evp_utils.c:CRYPTO_UP_REF
exchange.c:CRYPTO_UP_REF
Line
Count
Source
34
490
{
35
490
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
490
    return 1;
37
490
}
Unexecuted instantiation: init.c:CRYPTO_UP_REF
Unexecuted instantiation: kdf_lib.c:CRYPTO_UP_REF
kdf_meth.c:CRYPTO_UP_REF
Line
Count
Source
34
3.61k
{
35
3.61k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
3.61k
    return 1;
37
3.61k
}
Unexecuted instantiation: keymgmt_lib.c:CRYPTO_UP_REF
keymgmt_meth.c:CRYPTO_UP_REF
Line
Count
Source
34
13.2k
{
35
13.2k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
13.2k
    return 1;
37
13.2k
}
Unexecuted instantiation: legacy_blake2.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_md2.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_md4.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_md5.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_md5_sha1.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_mdc2.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_ripemd.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_sha.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_sm3.c:CRYPTO_UP_REF
Unexecuted instantiation: legacy_wp.c:CRYPTO_UP_REF
Unexecuted instantiation: m_sigver.c:CRYPTO_UP_REF
Unexecuted instantiation: mac_lib.c:CRYPTO_UP_REF
mac_meth.c:CRYPTO_UP_REF
Line
Count
Source
34
56.6k
{
35
56.6k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
56.6k
    return 1;
37
56.6k
}
Unexecuted instantiation: names.c:CRYPTO_UP_REF
p_lib.c:CRYPTO_UP_REF
Line
Count
Source
34
39.0k
{
35
39.0k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
39.0k
    return 1;
37
39.0k
}
Unexecuted instantiation: pmeth_check.c:CRYPTO_UP_REF
Unexecuted instantiation: pmeth_gn.c:CRYPTO_UP_REF
Unexecuted instantiation: pmeth_lib.c:CRYPTO_UP_REF
provider_core.c:CRYPTO_UP_REF
Line
Count
Source
34
3.60k
{
35
3.60k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
3.60k
    return 1;
37
3.60k
}
Unexecuted instantiation: rsa_backend.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_crpt.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_gen.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_mp.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_ossl.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_pk1.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_pmeth.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_pss.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_sign.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_sp800_56b_check.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_sp800_56b_gen.c:CRYPTO_UP_REF
signature.c:CRYPTO_UP_REF
Line
Count
Source
34
39.1k
{
35
39.1k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
39.1k
    return 1;
37
39.1k
}
Unexecuted instantiation: store_init.c:CRYPTO_UP_REF
Unexecuted instantiation: store_meth.c:CRYPTO_UP_REF
Unexecuted instantiation: store_register.c:CRYPTO_UP_REF
Unexecuted instantiation: tasn_utl.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_asnmth.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_cipher.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_dh.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_digest.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_dsa.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_eckey.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_pkmeth.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_rand.c:CRYPTO_UP_REF
Unexecuted instantiation: tb_rsa.c:CRYPTO_UP_REF
Unexecuted instantiation: trace.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_att.c:CRYPTO_UP_REF
Unexecuted instantiation: x_algor.c:CRYPTO_UP_REF
Unexecuted instantiation: x_attrib.c:CRYPTO_UP_REF
Unexecuted instantiation: x_name.c:CRYPTO_UP_REF
Unexecuted instantiation: blake2b_prov.c:CRYPTO_UP_REF
Unexecuted instantiation: blake2s_prov.c:CRYPTO_UP_REF
Unexecuted instantiation: ameth_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: asymcipher.c:CRYPTO_UP_REF
Unexecuted instantiation: bf_prefix.c:CRYPTO_UP_REF
Unexecuted instantiation: bio_addr.c:CRYPTO_UP_REF
Unexecuted instantiation: bio_dump.c:CRYPTO_UP_REF
Unexecuted instantiation: bss_file.c:CRYPTO_UP_REF
Unexecuted instantiation: c_allc.c:CRYPTO_UP_REF
Unexecuted instantiation: c_alld.c:CRYPTO_UP_REF
Unexecuted instantiation: cmp_util.c:CRYPTO_UP_REF
Unexecuted instantiation: ctrl_params_translate.c:CRYPTO_UP_REF
Unexecuted instantiation: decoder_meth.c:CRYPTO_UP_REF
Unexecuted instantiation: decoder_pkey.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_ameth.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_asn1.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_backend.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_check.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_group_params.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_pmeth.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_ameth.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_asn1.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_backend.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_pmeth.c:CRYPTO_UP_REF
Unexecuted instantiation: dso_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: ec2_oct.c:CRYPTO_UP_REF
Unexecuted instantiation: ec2_smpl.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_ameth.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_backend.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_check.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_pmeth.c:CRYPTO_UP_REF
Unexecuted instantiation: ecdh_kdf.c:CRYPTO_UP_REF
Unexecuted instantiation: ecx_key.c:CRYPTO_UP_REF
Unexecuted instantiation: ecx_meth.c:CRYPTO_UP_REF
Unexecuted instantiation: eddsa.c:CRYPTO_UP_REF
Unexecuted instantiation: encoder_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: encoder_meth.c:CRYPTO_UP_REF
Unexecuted instantiation: encoder_pkey.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_all.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_ctrl.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_dyn.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_fat.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_pkey.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_table.c:CRYPTO_UP_REF
Unexecuted instantiation: evp_pbe.c:CRYPTO_UP_REF
evp_rand.c:CRYPTO_UP_REF
Line
Count
Source
34
30
{
35
30
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
30
    return 1;
37
30
}
Unexecuted instantiation: hpke_util.c:CRYPTO_UP_REF
Unexecuted instantiation: kem.c:CRYPTO_UP_REF
Unexecuted instantiation: m_null.c:CRYPTO_UP_REF
Unexecuted instantiation: ossl_core_bio.c:CRYPTO_UP_REF
Unexecuted instantiation: p12_crpt.c:CRYPTO_UP_REF
Unexecuted instantiation: p5_crpt2.c:CRYPTO_UP_REF
Unexecuted instantiation: p5_pbe.c:CRYPTO_UP_REF
Unexecuted instantiation: p5_pbev2.c:CRYPTO_UP_REF
Unexecuted instantiation: p5_scrypt.c:CRYPTO_UP_REF
Unexecuted instantiation: p8_pkey.c:CRYPTO_UP_REF
Unexecuted instantiation: p_legacy.c:CRYPTO_UP_REF
Unexecuted instantiation: pem_pkey.c:CRYPTO_UP_REF
Unexecuted instantiation: pk7_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: prov_seed.c:CRYPTO_UP_REF
Unexecuted instantiation: provider_child.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_ameth.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_asn1.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_chk.c:CRYPTO_UP_REF
Unexecuted instantiation: rsa_oaep.c:CRYPTO_UP_REF
Unexecuted instantiation: t_x509.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_purp.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_utl.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_cmp.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_ext.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_lu.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_obj.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_req.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_set.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_v3.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_vfy.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_vpm.c:CRYPTO_UP_REF
Unexecuted instantiation: x509cset.c:CRYPTO_UP_REF
Unexecuted instantiation: x509name.c:CRYPTO_UP_REF
Unexecuted instantiation: x509rset.c:CRYPTO_UP_REF
Unexecuted instantiation: x_all.c:CRYPTO_UP_REF
Unexecuted instantiation: x_crl.c:CRYPTO_UP_REF
Unexecuted instantiation: x_exten.c:CRYPTO_UP_REF
Unexecuted instantiation: x_pubkey.c:CRYPTO_UP_REF
Unexecuted instantiation: x_req.c:CRYPTO_UP_REF
Unexecuted instantiation: x_sig.c:CRYPTO_UP_REF
Unexecuted instantiation: x_x509.c:CRYPTO_UP_REF
Unexecuted instantiation: x_x509a.c:CRYPTO_UP_REF
Unexecuted instantiation: argon2.c:CRYPTO_UP_REF
Unexecuted instantiation: blake2_prov.c:CRYPTO_UP_REF
Unexecuted instantiation: blake2b_mac.c:CRYPTO_UP_REF
Unexecuted instantiation: blake2s_mac.c:CRYPTO_UP_REF
Unexecuted instantiation: cipher_aes.c:CRYPTO_UP_REF
Unexecuted instantiation: cipher_camellia.c:CRYPTO_UP_REF
Unexecuted instantiation: cipher_cts.c:CRYPTO_UP_REF
Unexecuted instantiation: cipher_tdes_wrap.c:CRYPTO_UP_REF
Unexecuted instantiation: decode_der2key.c:CRYPTO_UP_REF
Unexecuted instantiation: decode_spki2typespki.c:CRYPTO_UP_REF
Unexecuted instantiation: ecx_exch.c:CRYPTO_UP_REF
Unexecuted instantiation: ecx_kem.c:CRYPTO_UP_REF
Unexecuted instantiation: ecx_kmgmt.c:CRYPTO_UP_REF
Unexecuted instantiation: eddsa_sig.c:CRYPTO_UP_REF
Unexecuted instantiation: encode_key2any.c:CRYPTO_UP_REF
Unexecuted instantiation: encode_key2text.c:CRYPTO_UP_REF
Unexecuted instantiation: hkdf.c:CRYPTO_UP_REF
Unexecuted instantiation: kbkdf.c:CRYPTO_UP_REF
Unexecuted instantiation: kdf_exch.c:CRYPTO_UP_REF
kdf_legacy_kmgmt.c:CRYPTO_UP_REF
Line
Count
Source
34
470
{
35
470
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
470
    return 1;
37
470
}
Unexecuted instantiation: krb5kdf.c:CRYPTO_UP_REF
mac_legacy_kmgmt.c:CRYPTO_UP_REF
Line
Count
Source
34
39.0k
{
35
39.0k
    *ret = atomic_fetch_add_explicit(&refcnt->val, 1, memory_order_relaxed) + 1;
36
39.0k
    return 1;
37
39.0k
}
Unexecuted instantiation: mac_legacy_sig.c:CRYPTO_UP_REF
Unexecuted instantiation: pbkdf2.c:CRYPTO_UP_REF
Unexecuted instantiation: pkcs12kdf.c:CRYPTO_UP_REF
Unexecuted instantiation: provider_util.c:CRYPTO_UP_REF
Unexecuted instantiation: scrypt.c:CRYPTO_UP_REF
Unexecuted instantiation: sshkdf.c:CRYPTO_UP_REF
Unexecuted instantiation: sskdf.c:CRYPTO_UP_REF
Unexecuted instantiation: tls1_prf.c:CRYPTO_UP_REF
Unexecuted instantiation: der_ecx_key.c:CRYPTO_UP_REF
Unexecuted instantiation: a_digest.c:CRYPTO_UP_REF
Unexecuted instantiation: a_sign.c:CRYPTO_UP_REF
Unexecuted instantiation: a_verify.c:CRYPTO_UP_REF
Unexecuted instantiation: bf_readbuff.c:CRYPTO_UP_REF
Unexecuted instantiation: bss_core.c:CRYPTO_UP_REF
Unexecuted instantiation: cmeth_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: d2i_pr.c:CRYPTO_UP_REF
Unexecuted instantiation: decoder_lib.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_ctrl.c:CRYPTO_UP_REF
Unexecuted instantiation: dh_gen.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_check.c:CRYPTO_UP_REF
Unexecuted instantiation: dsa_ctrl.c:CRYPTO_UP_REF
Unexecuted instantiation: dso_dlfcn.c:CRYPTO_UP_REF
Unexecuted instantiation: ec_ctrl.c:CRYPTO_UP_REF
Unexecuted instantiation: ecx_backend.c:CRYPTO_UP_REF
Unexecuted instantiation: eng_cnf.c:CRYPTO_UP_REF
Unexecuted instantiation: evp_cnf.c:CRYPTO_UP_REF
Unexecuted instantiation: evp_pkey.c:CRYPTO_UP_REF
Unexecuted instantiation: i2d_evp.c:CRYPTO_UP_REF
Unexecuted instantiation: p12_p8e.c:CRYPTO_UP_REF
Unexecuted instantiation: p_sign.c:CRYPTO_UP_REF
Unexecuted instantiation: p_verify.c:CRYPTO_UP_REF
Unexecuted instantiation: pcy_cache.c:CRYPTO_UP_REF
Unexecuted instantiation: pcy_map.c:CRYPTO_UP_REF
Unexecuted instantiation: pk7_doit.c:CRYPTO_UP_REF
Unexecuted instantiation: pvkfmt.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_addr.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_asid.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_bcons.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_cpols.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_crld.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_ncons.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_ocsp.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_rolespec.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_san.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_sda.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_skid.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_tlsf.c:CRYPTO_UP_REF
Unexecuted instantiation: x509_trust.c:CRYPTO_UP_REF
Unexecuted instantiation: der_ecx_gen.c:CRYPTO_UP_REF
Unexecuted instantiation: bf_buff.c:CRYPTO_UP_REF
Unexecuted instantiation: bss_conn.c:CRYPTO_UP_REF
Unexecuted instantiation: bss_dgram.c:CRYPTO_UP_REF
Unexecuted instantiation: bss_null.c:CRYPTO_UP_REF
Unexecuted instantiation: encode.c:CRYPTO_UP_REF
Unexecuted instantiation: ocsp_asn.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_ac_tgt.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_akid.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_attrdesc.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_battcons.c:CRYPTO_UP_REF
Unexecuted instantiation: v3_conf.c:CRYPTO_UP_REF
Unexecuted instantiation: ecp_nistz256.c:CRYPTO_UP_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:CRYPTO_UP_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:CRYPTO_UP_REF
38
39
/*
40
 * Changes to shared structure other than reference counter have to be
41
 * serialized. And any kind of serialization implies a release fence. This
42
 * means that by the time reference counter is decremented all other
43
 * changes are visible on all processors. Hence decrement itself can be
44
 * relaxed. In case it hits zero, object will be destructed. Since it's
45
 * last use of the object, destructor programmer might reason that access
46
 * to mutable members doesn't have to be serialized anymore, which would
47
 * otherwise imply an acquire fence. Hence conditional acquire fence...
48
 */
49
static inline int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
50
1.77M
{
51
1.77M
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
1.77M
    if (*ret == 0)
53
12.3k
        atomic_thread_fence(memory_order_acquire);
54
1.77M
    return 1;
55
1.77M
}
bio_lib.c:CRYPTO_DOWN_REF
Line
Count
Source
50
8
{
51
8
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
8
    if (*ret == 0)
53
8
        atomic_thread_fence(memory_order_acquire);
54
8
    return 1;
55
8
}
Unexecuted instantiation: bio_meth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bio_sock.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bio_sock2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bss_mem.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bss_sock.c:CRYPTO_DOWN_REF
Unexecuted instantiation: curve25519.c:CRYPTO_DOWN_REF
Unexecuted instantiation: curve448.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_key.c:CRYPTO_DOWN_REF
dh_lib.c:CRYPTO_DOWN_REF
Line
Count
Source
50
292
{
51
292
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
292
    if (*ret == 0)
53
292
        atomic_thread_fence(memory_order_acquire);
54
292
    return 1;
55
292
}
digest.c:CRYPTO_DOWN_REF
Line
Count
Source
50
1.42M
{
51
1.42M
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
1.42M
    if (*ret == 0)
53
54
        atomic_thread_fence(memory_order_acquire);
54
1.42M
    return 1;
55
1.42M
}
Unexecuted instantiation: dsa_gen.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_key.c:CRYPTO_DOWN_REF
dsa_lib.c:CRYPTO_DOWN_REF
Line
Count
Source
50
711
{
51
711
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
711
    if (*ret == 0)
53
711
        atomic_thread_fence(memory_order_acquire);
54
711
    return 1;
55
711
}
Unexecuted instantiation: dsa_ossl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_sign.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_vrf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_aes.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_aria.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_bf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_camellia.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_cast.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_chacha20_poly1305.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_des.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_des3.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_idea.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_rc2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_rc4.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_rc4_hmac_md5.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_rc5.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_seed.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_sm4.c:CRYPTO_DOWN_REF
Unexecuted instantiation: e_xcbc_d.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_asn1.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_curve.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_cvt.c:CRYPTO_DOWN_REF
ec_key.c:CRYPTO_DOWN_REF
Line
Count
Source
50
4.05k
{
51
4.05k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
4.05k
    if (*ret == 0)
53
4.05k
        atomic_thread_fence(memory_order_acquire);
54
4.05k
    return 1;
55
4.05k
}
Unexecuted instantiation: ec_kmeth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_lib.c:CRYPTO_DOWN_REF
ec_mult.c:CRYPTO_DOWN_REF
Line
Count
Source
50
50
{
51
50
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
50
    if (*ret == 0)
53
50
        atomic_thread_fence(memory_order_acquire);
54
50
    return 1;
55
50
}
Unexecuted instantiation: ec_oct.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecdh_ossl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecdsa_ossl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecdsa_sign.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecdsa_vrf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecp_mont.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecp_nist.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecp_oct.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecp_smpl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_init.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_list.c:CRYPTO_DOWN_REF
evp_enc.c:CRYPTO_DOWN_REF
Line
Count
Source
50
138k
{
51
138k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
138k
    if (*ret == 0)
53
256
        atomic_thread_fence(memory_order_acquire);
54
138k
    return 1;
55
138k
}
Unexecuted instantiation: evp_fetch.c:CRYPTO_DOWN_REF
Unexecuted instantiation: evp_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: evp_utils.c:CRYPTO_DOWN_REF
exchange.c:CRYPTO_DOWN_REF
Line
Count
Source
50
504
{
51
504
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
504
    if (*ret == 0)
53
14
        atomic_thread_fence(memory_order_acquire);
54
504
    return 1;
55
504
}
Unexecuted instantiation: init.c:CRYPTO_DOWN_REF
Unexecuted instantiation: kdf_lib.c:CRYPTO_DOWN_REF
kdf_meth.c:CRYPTO_DOWN_REF
Line
Count
Source
50
3.64k
{
51
3.64k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
3.64k
    if (*ret == 0)
53
32
        atomic_thread_fence(memory_order_acquire);
54
3.64k
    return 1;
55
3.64k
}
Unexecuted instantiation: keymgmt_lib.c:CRYPTO_DOWN_REF
keymgmt_meth.c:CRYPTO_DOWN_REF
Line
Count
Source
50
13.2k
{
51
13.2k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
13.2k
    if (*ret == 0)
53
36
        atomic_thread_fence(memory_order_acquire);
54
13.2k
    return 1;
55
13.2k
}
Unexecuted instantiation: legacy_blake2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_md2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_md4.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_md5.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_md5_sha1.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_mdc2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_ripemd.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_sha.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_sm3.c:CRYPTO_DOWN_REF
Unexecuted instantiation: legacy_wp.c:CRYPTO_DOWN_REF
Unexecuted instantiation: m_sigver.c:CRYPTO_DOWN_REF
Unexecuted instantiation: mac_lib.c:CRYPTO_DOWN_REF
mac_meth.c:CRYPTO_DOWN_REF
Line
Count
Source
50
56.6k
{
51
56.6k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
56.6k
    if (*ret == 0)
53
18
        atomic_thread_fence(memory_order_acquire);
54
56.6k
    return 1;
55
56.6k
}
Unexecuted instantiation: names.c:CRYPTO_DOWN_REF
p_lib.c:CRYPTO_DOWN_REF
Line
Count
Source
50
42.4k
{
51
42.4k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
42.4k
    if (*ret == 0)
53
3.38k
        atomic_thread_fence(memory_order_acquire);
54
42.4k
    return 1;
55
42.4k
}
Unexecuted instantiation: pmeth_check.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pmeth_gn.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pmeth_lib.c:CRYPTO_DOWN_REF
provider_core.c:CRYPTO_DOWN_REF
Line
Count
Source
50
3.60k
{
51
3.60k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
3.60k
    if (*ret == 0)
53
2
        atomic_thread_fence(memory_order_acquire);
54
3.60k
    return 1;
55
3.60k
}
Unexecuted instantiation: rsa_backend.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_crpt.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_gen.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_mp.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_ossl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_pk1.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_pmeth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_pss.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_sign.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_sp800_56b_check.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_sp800_56b_gen.c:CRYPTO_DOWN_REF
signature.c:CRYPTO_DOWN_REF
Line
Count
Source
50
39.2k
{
51
39.2k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
39.2k
    if (*ret == 0)
53
88
        atomic_thread_fence(memory_order_acquire);
54
39.2k
    return 1;
55
39.2k
}
Unexecuted instantiation: store_init.c:CRYPTO_DOWN_REF
Unexecuted instantiation: store_meth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: store_register.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tasn_utl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_asnmth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_cipher.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_dh.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_digest.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_dsa.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_eckey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_pkmeth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_rand.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tb_rsa.c:CRYPTO_DOWN_REF
Unexecuted instantiation: trace.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_att.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_algor.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_attrib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_name.c:CRYPTO_DOWN_REF
Unexecuted instantiation: blake2b_prov.c:CRYPTO_DOWN_REF
Unexecuted instantiation: blake2s_prov.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ameth_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: asymcipher.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bf_prefix.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bio_addr.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bio_dump.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bss_file.c:CRYPTO_DOWN_REF
Unexecuted instantiation: c_allc.c:CRYPTO_DOWN_REF
Unexecuted instantiation: c_alld.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cmp_util.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ctrl_params_translate.c:CRYPTO_DOWN_REF
Unexecuted instantiation: decoder_meth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: decoder_pkey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_ameth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_asn1.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_backend.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_check.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_group_params.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_pmeth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_ameth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_asn1.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_backend.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_pmeth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dso_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec2_oct.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec2_smpl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_ameth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_backend.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_check.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_pmeth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecdh_kdf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecx_key.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecx_meth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eddsa.c:CRYPTO_DOWN_REF
Unexecuted instantiation: encoder_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: encoder_meth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: encoder_pkey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_all.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_ctrl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_dyn.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_fat.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_pkey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_table.c:CRYPTO_DOWN_REF
Unexecuted instantiation: evp_pbe.c:CRYPTO_DOWN_REF
evp_rand.c:CRYPTO_DOWN_REF
Line
Count
Source
50
46
{
51
46
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
46
    if (*ret == 0)
53
16
        atomic_thread_fence(memory_order_acquire);
54
46
    return 1;
55
46
}
Unexecuted instantiation: hpke_util.c:CRYPTO_DOWN_REF
Unexecuted instantiation: kem.c:CRYPTO_DOWN_REF
Unexecuted instantiation: m_null.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ossl_core_bio.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p12_crpt.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p5_crpt2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p5_pbe.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p5_pbev2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p5_scrypt.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p8_pkey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p_legacy.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pem_pkey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pk7_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: prov_seed.c:CRYPTO_DOWN_REF
Unexecuted instantiation: provider_child.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_ameth.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_asn1.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_chk.c:CRYPTO_DOWN_REF
Unexecuted instantiation: rsa_oaep.c:CRYPTO_DOWN_REF
Unexecuted instantiation: t_x509.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_purp.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_utl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_cmp.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_ext.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_lu.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_obj.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_req.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_set.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_v3.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_vfy.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_vpm.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509cset.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509name.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509rset.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_all.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_crl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_exten.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_pubkey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_req.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_sig.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_x509.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x_x509a.c:CRYPTO_DOWN_REF
Unexecuted instantiation: argon2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: blake2_prov.c:CRYPTO_DOWN_REF
Unexecuted instantiation: blake2b_mac.c:CRYPTO_DOWN_REF
Unexecuted instantiation: blake2s_mac.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cipher_aes.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cipher_camellia.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cipher_cts.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cipher_tdes_wrap.c:CRYPTO_DOWN_REF
Unexecuted instantiation: decode_der2key.c:CRYPTO_DOWN_REF
Unexecuted instantiation: decode_spki2typespki.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecx_exch.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecx_kem.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecx_kmgmt.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eddsa_sig.c:CRYPTO_DOWN_REF
Unexecuted instantiation: encode_key2any.c:CRYPTO_DOWN_REF
Unexecuted instantiation: encode_key2text.c:CRYPTO_DOWN_REF
Unexecuted instantiation: hkdf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: kbkdf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: kdf_exch.c:CRYPTO_DOWN_REF
kdf_legacy_kmgmt.c:CRYPTO_DOWN_REF
Line
Count
Source
50
940
{
51
940
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
940
    if (*ret == 0)
53
470
        atomic_thread_fence(memory_order_acquire);
54
940
    return 1;
55
940
}
Unexecuted instantiation: krb5kdf.c:CRYPTO_DOWN_REF
mac_legacy_kmgmt.c:CRYPTO_DOWN_REF
Line
Count
Source
50
41.9k
{
51
41.9k
    *ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_relaxed) - 1;
52
41.9k
    if (*ret == 0)
53
2.91k
        atomic_thread_fence(memory_order_acquire);
54
41.9k
    return 1;
55
41.9k
}
Unexecuted instantiation: mac_legacy_sig.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pbkdf2.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pkcs12kdf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: provider_util.c:CRYPTO_DOWN_REF
Unexecuted instantiation: scrypt.c:CRYPTO_DOWN_REF
Unexecuted instantiation: sshkdf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: sskdf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: tls1_prf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: der_ecx_key.c:CRYPTO_DOWN_REF
Unexecuted instantiation: a_digest.c:CRYPTO_DOWN_REF
Unexecuted instantiation: a_sign.c:CRYPTO_DOWN_REF
Unexecuted instantiation: a_verify.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bf_readbuff.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bss_core.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cmeth_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: d2i_pr.c:CRYPTO_DOWN_REF
Unexecuted instantiation: decoder_lib.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_ctrl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dh_gen.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_check.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dsa_ctrl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: dso_dlfcn.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ec_ctrl.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecx_backend.c:CRYPTO_DOWN_REF
Unexecuted instantiation: eng_cnf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: evp_cnf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: evp_pkey.c:CRYPTO_DOWN_REF
Unexecuted instantiation: i2d_evp.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p12_p8e.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p_sign.c:CRYPTO_DOWN_REF
Unexecuted instantiation: p_verify.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pcy_cache.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pcy_map.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pk7_doit.c:CRYPTO_DOWN_REF
Unexecuted instantiation: pvkfmt.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_addr.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_asid.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_bcons.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_cpols.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_crld.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_ncons.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_ocsp.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_rolespec.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_san.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_sda.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_skid.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_tlsf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: x509_trust.c:CRYPTO_DOWN_REF
Unexecuted instantiation: der_ecx_gen.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bf_buff.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bss_conn.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bss_dgram.c:CRYPTO_DOWN_REF
Unexecuted instantiation: bss_null.c:CRYPTO_DOWN_REF
Unexecuted instantiation: encode.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ocsp_asn.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_ac_tgt.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_akid.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_attrdesc.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_battcons.c:CRYPTO_DOWN_REF
Unexecuted instantiation: v3_conf.c:CRYPTO_DOWN_REF
Unexecuted instantiation: ecp_nistz256.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:CRYPTO_DOWN_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:CRYPTO_DOWN_REF
56
57
static inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
58
8
{
59
8
    *ret = atomic_load_explicit(&refcnt->val, memory_order_relaxed);
60
8
    return 1;
61
8
}
bio_lib.c:CRYPTO_GET_REF
Line
Count
Source
58
8
{
59
8
    *ret = atomic_load_explicit(&refcnt->val, memory_order_relaxed);
60
8
    return 1;
61
8
}
Unexecuted instantiation: bio_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: bio_sock.c:CRYPTO_GET_REF
Unexecuted instantiation: bio_sock2.c:CRYPTO_GET_REF
Unexecuted instantiation: bss_mem.c:CRYPTO_GET_REF
Unexecuted instantiation: bss_sock.c:CRYPTO_GET_REF
Unexecuted instantiation: curve25519.c:CRYPTO_GET_REF
Unexecuted instantiation: curve448.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_key.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: digest.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_gen.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_key.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_ossl.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_sign.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_vrf.c:CRYPTO_GET_REF
Unexecuted instantiation: e_aes.c:CRYPTO_GET_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:CRYPTO_GET_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:CRYPTO_GET_REF
Unexecuted instantiation: e_aria.c:CRYPTO_GET_REF
Unexecuted instantiation: e_bf.c:CRYPTO_GET_REF
Unexecuted instantiation: e_camellia.c:CRYPTO_GET_REF
Unexecuted instantiation: e_cast.c:CRYPTO_GET_REF
Unexecuted instantiation: e_chacha20_poly1305.c:CRYPTO_GET_REF
Unexecuted instantiation: e_des.c:CRYPTO_GET_REF
Unexecuted instantiation: e_des3.c:CRYPTO_GET_REF
Unexecuted instantiation: e_idea.c:CRYPTO_GET_REF
Unexecuted instantiation: e_rc2.c:CRYPTO_GET_REF
Unexecuted instantiation: e_rc4.c:CRYPTO_GET_REF
Unexecuted instantiation: e_rc4_hmac_md5.c:CRYPTO_GET_REF
Unexecuted instantiation: e_rc5.c:CRYPTO_GET_REF
Unexecuted instantiation: e_seed.c:CRYPTO_GET_REF
Unexecuted instantiation: e_sm4.c:CRYPTO_GET_REF
Unexecuted instantiation: e_xcbc_d.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_asn1.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_curve.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_cvt.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_key.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_kmeth.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_mult.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_oct.c:CRYPTO_GET_REF
Unexecuted instantiation: ecdh_ossl.c:CRYPTO_GET_REF
Unexecuted instantiation: ecdsa_ossl.c:CRYPTO_GET_REF
Unexecuted instantiation: ecdsa_sign.c:CRYPTO_GET_REF
Unexecuted instantiation: ecdsa_vrf.c:CRYPTO_GET_REF
Unexecuted instantiation: ecp_mont.c:CRYPTO_GET_REF
Unexecuted instantiation: ecp_nist.c:CRYPTO_GET_REF
Unexecuted instantiation: ecp_oct.c:CRYPTO_GET_REF
Unexecuted instantiation: ecp_smpl.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_init.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_list.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_enc.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_fetch.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_utils.c:CRYPTO_GET_REF
Unexecuted instantiation: exchange.c:CRYPTO_GET_REF
Unexecuted instantiation: init.c:CRYPTO_GET_REF
Unexecuted instantiation: kdf_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: kdf_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: keymgmt_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: keymgmt_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_blake2.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_md2.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_md4.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_md5.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_md5_sha1.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_mdc2.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_ripemd.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_sha.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_sm3.c:CRYPTO_GET_REF
Unexecuted instantiation: legacy_wp.c:CRYPTO_GET_REF
Unexecuted instantiation: m_sigver.c:CRYPTO_GET_REF
Unexecuted instantiation: mac_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: mac_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: names.c:CRYPTO_GET_REF
Unexecuted instantiation: p_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: pmeth_check.c:CRYPTO_GET_REF
Unexecuted instantiation: pmeth_gn.c:CRYPTO_GET_REF
Unexecuted instantiation: pmeth_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: provider_core.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_backend.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_crpt.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_gen.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_mp.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_ossl.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_pk1.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_pmeth.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_pss.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_sign.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_sp800_56b_check.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_sp800_56b_gen.c:CRYPTO_GET_REF
Unexecuted instantiation: signature.c:CRYPTO_GET_REF
Unexecuted instantiation: store_init.c:CRYPTO_GET_REF
Unexecuted instantiation: store_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: store_register.c:CRYPTO_GET_REF
Unexecuted instantiation: tasn_utl.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_asnmth.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_cipher.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_dh.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_digest.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_dsa.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_eckey.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_pkmeth.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_rand.c:CRYPTO_GET_REF
Unexecuted instantiation: tb_rsa.c:CRYPTO_GET_REF
Unexecuted instantiation: trace.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_att.c:CRYPTO_GET_REF
Unexecuted instantiation: x_algor.c:CRYPTO_GET_REF
Unexecuted instantiation: x_attrib.c:CRYPTO_GET_REF
Unexecuted instantiation: x_name.c:CRYPTO_GET_REF
Unexecuted instantiation: blake2b_prov.c:CRYPTO_GET_REF
Unexecuted instantiation: blake2s_prov.c:CRYPTO_GET_REF
Unexecuted instantiation: ameth_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: asymcipher.c:CRYPTO_GET_REF
Unexecuted instantiation: bf_prefix.c:CRYPTO_GET_REF
Unexecuted instantiation: bio_addr.c:CRYPTO_GET_REF
Unexecuted instantiation: bio_dump.c:CRYPTO_GET_REF
Unexecuted instantiation: bss_file.c:CRYPTO_GET_REF
Unexecuted instantiation: c_allc.c:CRYPTO_GET_REF
Unexecuted instantiation: c_alld.c:CRYPTO_GET_REF
Unexecuted instantiation: cmp_util.c:CRYPTO_GET_REF
Unexecuted instantiation: ctrl_params_translate.c:CRYPTO_GET_REF
Unexecuted instantiation: decoder_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: decoder_pkey.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_ameth.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_asn1.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_backend.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_check.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_group_params.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_pmeth.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_ameth.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_asn1.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_backend.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_pmeth.c:CRYPTO_GET_REF
Unexecuted instantiation: dso_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: ec2_oct.c:CRYPTO_GET_REF
Unexecuted instantiation: ec2_smpl.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_ameth.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_backend.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_check.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_pmeth.c:CRYPTO_GET_REF
Unexecuted instantiation: ecdh_kdf.c:CRYPTO_GET_REF
Unexecuted instantiation: ecx_key.c:CRYPTO_GET_REF
Unexecuted instantiation: ecx_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: eddsa.c:CRYPTO_GET_REF
Unexecuted instantiation: encoder_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: encoder_meth.c:CRYPTO_GET_REF
Unexecuted instantiation: encoder_pkey.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_all.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_ctrl.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_dyn.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_fat.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_pkey.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_table.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_pbe.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_rand.c:CRYPTO_GET_REF
Unexecuted instantiation: hpke_util.c:CRYPTO_GET_REF
Unexecuted instantiation: kem.c:CRYPTO_GET_REF
Unexecuted instantiation: m_null.c:CRYPTO_GET_REF
Unexecuted instantiation: ossl_core_bio.c:CRYPTO_GET_REF
Unexecuted instantiation: p12_crpt.c:CRYPTO_GET_REF
Unexecuted instantiation: p5_crpt2.c:CRYPTO_GET_REF
Unexecuted instantiation: p5_pbe.c:CRYPTO_GET_REF
Unexecuted instantiation: p5_pbev2.c:CRYPTO_GET_REF
Unexecuted instantiation: p5_scrypt.c:CRYPTO_GET_REF
Unexecuted instantiation: p8_pkey.c:CRYPTO_GET_REF
Unexecuted instantiation: p_legacy.c:CRYPTO_GET_REF
Unexecuted instantiation: pem_pkey.c:CRYPTO_GET_REF
Unexecuted instantiation: pk7_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: prov_seed.c:CRYPTO_GET_REF
Unexecuted instantiation: provider_child.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_ameth.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_asn1.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_chk.c:CRYPTO_GET_REF
Unexecuted instantiation: rsa_oaep.c:CRYPTO_GET_REF
Unexecuted instantiation: t_x509.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_purp.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_utl.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_cmp.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_ext.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_lu.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_obj.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_req.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_set.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_v3.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_vfy.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_vpm.c:CRYPTO_GET_REF
Unexecuted instantiation: x509cset.c:CRYPTO_GET_REF
Unexecuted instantiation: x509name.c:CRYPTO_GET_REF
Unexecuted instantiation: x509rset.c:CRYPTO_GET_REF
Unexecuted instantiation: x_all.c:CRYPTO_GET_REF
Unexecuted instantiation: x_crl.c:CRYPTO_GET_REF
Unexecuted instantiation: x_exten.c:CRYPTO_GET_REF
Unexecuted instantiation: x_pubkey.c:CRYPTO_GET_REF
Unexecuted instantiation: x_req.c:CRYPTO_GET_REF
Unexecuted instantiation: x_sig.c:CRYPTO_GET_REF
Unexecuted instantiation: x_x509.c:CRYPTO_GET_REF
Unexecuted instantiation: x_x509a.c:CRYPTO_GET_REF
Unexecuted instantiation: argon2.c:CRYPTO_GET_REF
Unexecuted instantiation: blake2_prov.c:CRYPTO_GET_REF
Unexecuted instantiation: blake2b_mac.c:CRYPTO_GET_REF
Unexecuted instantiation: blake2s_mac.c:CRYPTO_GET_REF
Unexecuted instantiation: cipher_aes.c:CRYPTO_GET_REF
Unexecuted instantiation: cipher_camellia.c:CRYPTO_GET_REF
Unexecuted instantiation: cipher_cts.c:CRYPTO_GET_REF
Unexecuted instantiation: cipher_tdes_wrap.c:CRYPTO_GET_REF
Unexecuted instantiation: decode_der2key.c:CRYPTO_GET_REF
Unexecuted instantiation: decode_spki2typespki.c:CRYPTO_GET_REF
Unexecuted instantiation: ecx_exch.c:CRYPTO_GET_REF
Unexecuted instantiation: ecx_kem.c:CRYPTO_GET_REF
Unexecuted instantiation: ecx_kmgmt.c:CRYPTO_GET_REF
Unexecuted instantiation: eddsa_sig.c:CRYPTO_GET_REF
Unexecuted instantiation: encode_key2any.c:CRYPTO_GET_REF
Unexecuted instantiation: encode_key2text.c:CRYPTO_GET_REF
Unexecuted instantiation: hkdf.c:CRYPTO_GET_REF
Unexecuted instantiation: kbkdf.c:CRYPTO_GET_REF
Unexecuted instantiation: kdf_exch.c:CRYPTO_GET_REF
Unexecuted instantiation: kdf_legacy_kmgmt.c:CRYPTO_GET_REF
Unexecuted instantiation: krb5kdf.c:CRYPTO_GET_REF
Unexecuted instantiation: mac_legacy_kmgmt.c:CRYPTO_GET_REF
Unexecuted instantiation: mac_legacy_sig.c:CRYPTO_GET_REF
Unexecuted instantiation: pbkdf2.c:CRYPTO_GET_REF
Unexecuted instantiation: pkcs12kdf.c:CRYPTO_GET_REF
Unexecuted instantiation: provider_util.c:CRYPTO_GET_REF
Unexecuted instantiation: scrypt.c:CRYPTO_GET_REF
Unexecuted instantiation: sshkdf.c:CRYPTO_GET_REF
Unexecuted instantiation: sskdf.c:CRYPTO_GET_REF
Unexecuted instantiation: tls1_prf.c:CRYPTO_GET_REF
Unexecuted instantiation: der_ecx_key.c:CRYPTO_GET_REF
Unexecuted instantiation: a_digest.c:CRYPTO_GET_REF
Unexecuted instantiation: a_sign.c:CRYPTO_GET_REF
Unexecuted instantiation: a_verify.c:CRYPTO_GET_REF
Unexecuted instantiation: bf_readbuff.c:CRYPTO_GET_REF
Unexecuted instantiation: bss_core.c:CRYPTO_GET_REF
Unexecuted instantiation: cmeth_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: d2i_pr.c:CRYPTO_GET_REF
Unexecuted instantiation: decoder_lib.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_ctrl.c:CRYPTO_GET_REF
Unexecuted instantiation: dh_gen.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_check.c:CRYPTO_GET_REF
Unexecuted instantiation: dsa_ctrl.c:CRYPTO_GET_REF
Unexecuted instantiation: dso_dlfcn.c:CRYPTO_GET_REF
Unexecuted instantiation: ec_ctrl.c:CRYPTO_GET_REF
Unexecuted instantiation: ecx_backend.c:CRYPTO_GET_REF
Unexecuted instantiation: eng_cnf.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_cnf.c:CRYPTO_GET_REF
Unexecuted instantiation: evp_pkey.c:CRYPTO_GET_REF
Unexecuted instantiation: i2d_evp.c:CRYPTO_GET_REF
Unexecuted instantiation: p12_p8e.c:CRYPTO_GET_REF
Unexecuted instantiation: p_sign.c:CRYPTO_GET_REF
Unexecuted instantiation: p_verify.c:CRYPTO_GET_REF
Unexecuted instantiation: pcy_cache.c:CRYPTO_GET_REF
Unexecuted instantiation: pcy_map.c:CRYPTO_GET_REF
Unexecuted instantiation: pk7_doit.c:CRYPTO_GET_REF
Unexecuted instantiation: pvkfmt.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_addr.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_asid.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_bcons.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_cpols.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_crld.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_ncons.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_ocsp.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_rolespec.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_san.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_sda.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_skid.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_tlsf.c:CRYPTO_GET_REF
Unexecuted instantiation: x509_trust.c:CRYPTO_GET_REF
Unexecuted instantiation: der_ecx_gen.c:CRYPTO_GET_REF
Unexecuted instantiation: bf_buff.c:CRYPTO_GET_REF
Unexecuted instantiation: bss_conn.c:CRYPTO_GET_REF
Unexecuted instantiation: bss_dgram.c:CRYPTO_GET_REF
Unexecuted instantiation: bss_null.c:CRYPTO_GET_REF
Unexecuted instantiation: encode.c:CRYPTO_GET_REF
Unexecuted instantiation: ocsp_asn.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_ac_tgt.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_akid.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_attrdesc.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_battcons.c:CRYPTO_GET_REF
Unexecuted instantiation: v3_conf.c:CRYPTO_GET_REF
Unexecuted instantiation: ecp_nistz256.c:CRYPTO_GET_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:CRYPTO_GET_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:CRYPTO_GET_REF
62
63
#  elif defined(__GNUC__) && defined(__ATOMIC_RELAXED) && __GCC_ATOMIC_INT_LOCK_FREE > 0
64
65
#   define HAVE_ATOMICS 1
66
67
typedef struct {
68
    int val;
69
} CRYPTO_REF_COUNT;
70
71
static __inline__ int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
72
{
73
    *ret = __atomic_fetch_add(&refcnt->val, 1, __ATOMIC_RELAXED) + 1;
74
    return 1;
75
}
76
77
static __inline__ int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
78
{
79
    *ret = __atomic_fetch_sub(&refcnt->val, 1, __ATOMIC_RELAXED) - 1;
80
    if (*ret == 0)
81
        __atomic_thread_fence(__ATOMIC_ACQUIRE);
82
    return 1;
83
}
84
85
static __inline__ int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
86
{
87
    *ret = __atomic_load_n(&refcnt->val, __ATOMIC_RELAXED);
88
    return 1;
89
}
90
91
#  elif defined(__ICL) && defined(_WIN32)
92
#   define HAVE_ATOMICS 1
93
94
typedef struct {
95
    volatile int val;
96
} CRYPTO_REF_COUNT;
97
98
static __inline int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
99
{
100
    *ret = _InterlockedExchangeAdd((void *)&refcnt->val, 1) + 1;
101
    return 1;
102
}
103
104
static __inline int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
105
{
106
    *ret = _InterlockedExchangeAdd((void *)&refcnt->val, -1) - 1;
107
    return 1;
108
}
109
110
static __inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
111
{
112
    *ret = _InterlockedOr((void *)&refcnt->val, 0);
113
    return 1;
114
}
115
116
#  elif defined(_MSC_VER) && _MSC_VER>=1200
117
118
#   define HAVE_ATOMICS 1
119
120
typedef struct {
121
    volatile int val;
122
} CRYPTO_REF_COUNT;
123
124
#   if (defined(_M_ARM) && _M_ARM>=7 && !defined(_WIN32_WCE)) || defined(_M_ARM64)
125
#    include <intrin.h>
126
#    if defined(_M_ARM64) && !defined(_ARM_BARRIER_ISH)
127
#     define _ARM_BARRIER_ISH _ARM64_BARRIER_ISH
128
#    endif
129
130
static __inline int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
131
{
132
    *ret = _InterlockedExchangeAdd_nf(&refcnt->val, 1) + 1;
133
    return 1;
134
}
135
136
static __inline int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
137
{
138
    *ret = _InterlockedExchangeAdd_nf(&refcnt->val, -1) - 1;
139
    if (*ret == 0)
140
        __dmb(_ARM_BARRIER_ISH);
141
    return 1;
142
}
143
144
static __inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
145
{
146
    *ret = _InterlockedOr_nf((void *)&refcnt->val, 0);
147
    return 1;
148
}
149
150
#   else
151
#    if !defined(_WIN32_WCE)
152
#     pragma intrinsic(_InterlockedExchangeAdd)
153
#    else
154
#     if _WIN32_WCE >= 0x600
155
       extern long __cdecl _InterlockedExchangeAdd(long volatile*, long);
156
#     else
157
       /* under Windows CE we still have old-style Interlocked* functions */
158
       extern long __cdecl InterlockedExchangeAdd(long volatile*, long);
159
#      define _InterlockedExchangeAdd InterlockedExchangeAdd
160
#     endif
161
#    endif
162
163
static __inline int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
164
{
165
    *ret = _InterlockedExchangeAdd(&refcnt->val, 1) + 1;
166
    return 1;
167
}
168
169
static __inline int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
170
{
171
    *ret = _InterlockedExchangeAdd(&refcnt->val, -1) - 1;
172
    return 1;
173
}
174
175
static __inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
176
{
177
    *ret = _InterlockedExchangeAdd(&refcnt->val, 0);
178
    return 1;
179
}
180
181
#   endif
182
183
#  endif
184
# endif  /* !OPENSSL_DEV_NO_ATOMICS */
185
186
/*
187
 * All the refcounting implementations above define HAVE_ATOMICS, so if it's
188
 * still undefined here (such as when OPENSSL_DEV_NO_ATOMICS is defined), it
189
 * means we need to implement a fallback.  This fallback uses locks.
190
 */
191
# ifndef HAVE_ATOMICS
192
193
typedef struct {
194
    int val;
195
#  ifdef OPENSSL_THREADS
196
    CRYPTO_RWLOCK *lock;
197
#  endif
198
} CRYPTO_REF_COUNT;
199
200
#  ifdef OPENSSL_THREADS
201
202
static ossl_unused ossl_inline int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt,
203
                                                 int *ret)
204
{
205
    return CRYPTO_atomic_add(&refcnt->val, 1, ret, refcnt->lock);
206
}
207
208
static ossl_unused ossl_inline int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt,
209
                                                   int *ret)
210
{
211
    return CRYPTO_atomic_add(&refcnt->val, -1, ret, refcnt->lock);
212
}
213
214
static ossl_unused ossl_inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt,
215
                                                   int *ret)
216
{
217
    return CRYPTO_atomic_load_int(&refcnt->val, ret, refcnt->lock);
218
}
219
220
#   define CRYPTO_NEW_FREE_DEFINED  1
221
static ossl_unused ossl_inline int CRYPTO_NEW_REF(CRYPTO_REF_COUNT *refcnt, int n)
222
{
223
    refcnt->val = n;
224
    refcnt->lock = CRYPTO_THREAD_lock_new();
225
    if (refcnt->lock == NULL) {
226
        ERR_raise(ERR_LIB_CRYPTO, ERR_R_CRYPTO_LIB);
227
        return 0;
228
    }
229
    return 1;
230
}
231
232
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
233
{
234
    if (refcnt != NULL)
235
        CRYPTO_THREAD_lock_free(refcnt->lock);
236
}
237
238
#  else     /* OPENSSL_THREADS */
239
240
static ossl_unused ossl_inline int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt,
241
                                                 int *ret)
242
{
243
    refcnt->val++;
244
    *ret = refcnt->val;
245
    return 1;
246
}
247
248
static ossl_unused ossl_inline int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt,
249
                                                   int *ret)
250
{
251
    refcnt->val--;
252
    *ret = refcnt->val;
253
    return 1;
254
}
255
256
static ossl_unused ossl_inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt,
257
                                                   int *ret)
258
{
259
    *ret = refcnt->val;
260
    return 1;
261
}
262
263
#  endif    /* OPENSSL_THREADS */
264
# endif
265
266
# ifndef CRYPTO_NEW_FREE_DEFINED
267
static ossl_unused ossl_inline int CRYPTO_NEW_REF(CRYPTO_REF_COUNT *refcnt, int n)
268
12.3k
{
269
12.3k
    refcnt->val = n;
270
12.3k
    return 1;
271
12.3k
}
bio_lib.c:CRYPTO_NEW_REF
Line
Count
Source
268
8
{
269
8
    refcnt->val = n;
270
8
    return 1;
271
8
}
Unexecuted instantiation: bio_meth.c:CRYPTO_NEW_REF
Unexecuted instantiation: bio_sock.c:CRYPTO_NEW_REF
Unexecuted instantiation: bio_sock2.c:CRYPTO_NEW_REF
Unexecuted instantiation: bss_mem.c:CRYPTO_NEW_REF
Unexecuted instantiation: bss_sock.c:CRYPTO_NEW_REF
Unexecuted instantiation: curve25519.c:CRYPTO_NEW_REF
Unexecuted instantiation: curve448.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_key.c:CRYPTO_NEW_REF
dh_lib.c:CRYPTO_NEW_REF
Line
Count
Source
268
292
{
269
292
    refcnt->val = n;
270
292
    return 1;
271
292
}
digest.c:CRYPTO_NEW_REF
Line
Count
Source
268
54
{
269
54
    refcnt->val = n;
270
54
    return 1;
271
54
}
Unexecuted instantiation: dsa_gen.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_key.c:CRYPTO_NEW_REF
dsa_lib.c:CRYPTO_NEW_REF
Line
Count
Source
268
711
{
269
711
    refcnt->val = n;
270
711
    return 1;
271
711
}
Unexecuted instantiation: dsa_ossl.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_sign.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_vrf.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_aes.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_aria.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_bf.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_camellia.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_cast.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_chacha20_poly1305.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_des.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_des3.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_idea.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_rc2.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_rc4.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_rc4_hmac_md5.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_rc5.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_seed.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_sm4.c:CRYPTO_NEW_REF
Unexecuted instantiation: e_xcbc_d.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_asn1.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_curve.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_cvt.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_key.c:CRYPTO_NEW_REF
ec_kmeth.c:CRYPTO_NEW_REF
Line
Count
Source
268
4.05k
{
269
4.05k
    refcnt->val = n;
270
4.05k
    return 1;
271
4.05k
}
Unexecuted instantiation: ec_lib.c:CRYPTO_NEW_REF
ec_mult.c:CRYPTO_NEW_REF
Line
Count
Source
268
50
{
269
50
    refcnt->val = n;
270
50
    return 1;
271
50
}
Unexecuted instantiation: ec_oct.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecdh_ossl.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecdsa_ossl.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecdsa_sign.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecdsa_vrf.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecp_mont.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecp_nist.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecp_oct.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecp_smpl.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_init.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_list.c:CRYPTO_NEW_REF
evp_enc.c:CRYPTO_NEW_REF
Line
Count
Source
268
256
{
269
256
    refcnt->val = n;
270
256
    return 1;
271
256
}
Unexecuted instantiation: evp_fetch.c:CRYPTO_NEW_REF
Unexecuted instantiation: evp_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: evp_utils.c:CRYPTO_NEW_REF
exchange.c:CRYPTO_NEW_REF
Line
Count
Source
268
14
{
269
14
    refcnt->val = n;
270
14
    return 1;
271
14
}
Unexecuted instantiation: init.c:CRYPTO_NEW_REF
Unexecuted instantiation: kdf_lib.c:CRYPTO_NEW_REF
kdf_meth.c:CRYPTO_NEW_REF
Line
Count
Source
268
32
{
269
32
    refcnt->val = n;
270
32
    return 1;
271
32
}
Unexecuted instantiation: keymgmt_lib.c:CRYPTO_NEW_REF
keymgmt_meth.c:CRYPTO_NEW_REF
Line
Count
Source
268
36
{
269
36
    refcnt->val = n;
270
36
    return 1;
271
36
}
Unexecuted instantiation: legacy_blake2.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_md2.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_md4.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_md5.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_md5_sha1.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_mdc2.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_ripemd.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_sha.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_sm3.c:CRYPTO_NEW_REF
Unexecuted instantiation: legacy_wp.c:CRYPTO_NEW_REF
Unexecuted instantiation: m_sigver.c:CRYPTO_NEW_REF
Unexecuted instantiation: mac_lib.c:CRYPTO_NEW_REF
mac_meth.c:CRYPTO_NEW_REF
Line
Count
Source
268
18
{
269
18
    refcnt->val = n;
270
18
    return 1;
271
18
}
Unexecuted instantiation: names.c:CRYPTO_NEW_REF
p_lib.c:CRYPTO_NEW_REF
Line
Count
Source
268
3.38k
{
269
3.38k
    refcnt->val = n;
270
3.38k
    return 1;
271
3.38k
}
Unexecuted instantiation: pmeth_check.c:CRYPTO_NEW_REF
Unexecuted instantiation: pmeth_gn.c:CRYPTO_NEW_REF
Unexecuted instantiation: pmeth_lib.c:CRYPTO_NEW_REF
provider_core.c:CRYPTO_NEW_REF
Line
Count
Source
268
2
{
269
2
    refcnt->val = n;
270
2
    return 1;
271
2
}
Unexecuted instantiation: rsa_backend.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_crpt.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_gen.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_mp.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_ossl.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_pk1.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_pmeth.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_pss.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_sign.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_sp800_56b_check.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_sp800_56b_gen.c:CRYPTO_NEW_REF
signature.c:CRYPTO_NEW_REF
Line
Count
Source
268
88
{
269
88
    refcnt->val = n;
270
88
    return 1;
271
88
}
Unexecuted instantiation: store_init.c:CRYPTO_NEW_REF
Unexecuted instantiation: store_meth.c:CRYPTO_NEW_REF
Unexecuted instantiation: store_register.c:CRYPTO_NEW_REF
Unexecuted instantiation: tasn_utl.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_asnmth.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_cipher.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_dh.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_digest.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_dsa.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_eckey.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_pkmeth.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_rand.c:CRYPTO_NEW_REF
Unexecuted instantiation: tb_rsa.c:CRYPTO_NEW_REF
Unexecuted instantiation: trace.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_att.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_algor.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_attrib.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_name.c:CRYPTO_NEW_REF
Unexecuted instantiation: blake2b_prov.c:CRYPTO_NEW_REF
Unexecuted instantiation: blake2s_prov.c:CRYPTO_NEW_REF
Unexecuted instantiation: ameth_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: asymcipher.c:CRYPTO_NEW_REF
Unexecuted instantiation: bf_prefix.c:CRYPTO_NEW_REF
Unexecuted instantiation: bio_addr.c:CRYPTO_NEW_REF
Unexecuted instantiation: bio_dump.c:CRYPTO_NEW_REF
Unexecuted instantiation: bss_file.c:CRYPTO_NEW_REF
Unexecuted instantiation: c_allc.c:CRYPTO_NEW_REF
Unexecuted instantiation: c_alld.c:CRYPTO_NEW_REF
Unexecuted instantiation: cmp_util.c:CRYPTO_NEW_REF
Unexecuted instantiation: ctrl_params_translate.c:CRYPTO_NEW_REF
Unexecuted instantiation: decoder_meth.c:CRYPTO_NEW_REF
Unexecuted instantiation: decoder_pkey.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_ameth.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_asn1.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_backend.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_check.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_group_params.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_pmeth.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_ameth.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_asn1.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_backend.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_pmeth.c:CRYPTO_NEW_REF
Unexecuted instantiation: dso_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec2_oct.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec2_smpl.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_ameth.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_backend.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_check.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_pmeth.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecdh_kdf.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecx_key.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecx_meth.c:CRYPTO_NEW_REF
Unexecuted instantiation: eddsa.c:CRYPTO_NEW_REF
Unexecuted instantiation: encoder_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: encoder_meth.c:CRYPTO_NEW_REF
Unexecuted instantiation: encoder_pkey.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_all.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_ctrl.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_dyn.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_fat.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_pkey.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_table.c:CRYPTO_NEW_REF
Unexecuted instantiation: evp_pbe.c:CRYPTO_NEW_REF
evp_rand.c:CRYPTO_NEW_REF
Line
Count
Source
268
16
{
269
16
    refcnt->val = n;
270
16
    return 1;
271
16
}
Unexecuted instantiation: hpke_util.c:CRYPTO_NEW_REF
Unexecuted instantiation: kem.c:CRYPTO_NEW_REF
Unexecuted instantiation: m_null.c:CRYPTO_NEW_REF
Unexecuted instantiation: ossl_core_bio.c:CRYPTO_NEW_REF
Unexecuted instantiation: p12_crpt.c:CRYPTO_NEW_REF
Unexecuted instantiation: p5_crpt2.c:CRYPTO_NEW_REF
Unexecuted instantiation: p5_pbe.c:CRYPTO_NEW_REF
Unexecuted instantiation: p5_pbev2.c:CRYPTO_NEW_REF
Unexecuted instantiation: p5_scrypt.c:CRYPTO_NEW_REF
Unexecuted instantiation: p8_pkey.c:CRYPTO_NEW_REF
Unexecuted instantiation: p_legacy.c:CRYPTO_NEW_REF
Unexecuted instantiation: pem_pkey.c:CRYPTO_NEW_REF
Unexecuted instantiation: pk7_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: prov_seed.c:CRYPTO_NEW_REF
Unexecuted instantiation: provider_child.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_ameth.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_asn1.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_chk.c:CRYPTO_NEW_REF
Unexecuted instantiation: rsa_oaep.c:CRYPTO_NEW_REF
Unexecuted instantiation: t_x509.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_purp.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_utl.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_cmp.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_ext.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_lu.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_obj.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_req.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_set.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_v3.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_vfy.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_vpm.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509cset.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509name.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509rset.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_all.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_crl.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_exten.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_pubkey.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_req.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_sig.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_x509.c:CRYPTO_NEW_REF
Unexecuted instantiation: x_x509a.c:CRYPTO_NEW_REF
Unexecuted instantiation: argon2.c:CRYPTO_NEW_REF
Unexecuted instantiation: blake2_prov.c:CRYPTO_NEW_REF
Unexecuted instantiation: blake2b_mac.c:CRYPTO_NEW_REF
Unexecuted instantiation: blake2s_mac.c:CRYPTO_NEW_REF
Unexecuted instantiation: cipher_aes.c:CRYPTO_NEW_REF
Unexecuted instantiation: cipher_camellia.c:CRYPTO_NEW_REF
Unexecuted instantiation: cipher_cts.c:CRYPTO_NEW_REF
Unexecuted instantiation: cipher_tdes_wrap.c:CRYPTO_NEW_REF
Unexecuted instantiation: decode_der2key.c:CRYPTO_NEW_REF
Unexecuted instantiation: decode_spki2typespki.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecx_exch.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecx_kem.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecx_kmgmt.c:CRYPTO_NEW_REF
Unexecuted instantiation: eddsa_sig.c:CRYPTO_NEW_REF
Unexecuted instantiation: encode_key2any.c:CRYPTO_NEW_REF
Unexecuted instantiation: encode_key2text.c:CRYPTO_NEW_REF
Unexecuted instantiation: hkdf.c:CRYPTO_NEW_REF
Unexecuted instantiation: kbkdf.c:CRYPTO_NEW_REF
Unexecuted instantiation: kdf_exch.c:CRYPTO_NEW_REF
kdf_legacy_kmgmt.c:CRYPTO_NEW_REF
Line
Count
Source
268
470
{
269
470
    refcnt->val = n;
270
470
    return 1;
271
470
}
Unexecuted instantiation: krb5kdf.c:CRYPTO_NEW_REF
mac_legacy_kmgmt.c:CRYPTO_NEW_REF
Line
Count
Source
268
2.91k
{
269
2.91k
    refcnt->val = n;
270
2.91k
    return 1;
271
2.91k
}
Unexecuted instantiation: mac_legacy_sig.c:CRYPTO_NEW_REF
Unexecuted instantiation: pbkdf2.c:CRYPTO_NEW_REF
Unexecuted instantiation: pkcs12kdf.c:CRYPTO_NEW_REF
Unexecuted instantiation: provider_util.c:CRYPTO_NEW_REF
Unexecuted instantiation: scrypt.c:CRYPTO_NEW_REF
Unexecuted instantiation: sshkdf.c:CRYPTO_NEW_REF
Unexecuted instantiation: sskdf.c:CRYPTO_NEW_REF
Unexecuted instantiation: tls1_prf.c:CRYPTO_NEW_REF
Unexecuted instantiation: der_ecx_key.c:CRYPTO_NEW_REF
Unexecuted instantiation: a_digest.c:CRYPTO_NEW_REF
Unexecuted instantiation: a_sign.c:CRYPTO_NEW_REF
Unexecuted instantiation: a_verify.c:CRYPTO_NEW_REF
Unexecuted instantiation: bf_readbuff.c:CRYPTO_NEW_REF
Unexecuted instantiation: bss_core.c:CRYPTO_NEW_REF
Unexecuted instantiation: cmeth_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: d2i_pr.c:CRYPTO_NEW_REF
Unexecuted instantiation: decoder_lib.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_ctrl.c:CRYPTO_NEW_REF
Unexecuted instantiation: dh_gen.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_check.c:CRYPTO_NEW_REF
Unexecuted instantiation: dsa_ctrl.c:CRYPTO_NEW_REF
Unexecuted instantiation: dso_dlfcn.c:CRYPTO_NEW_REF
Unexecuted instantiation: ec_ctrl.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecx_backend.c:CRYPTO_NEW_REF
Unexecuted instantiation: eng_cnf.c:CRYPTO_NEW_REF
Unexecuted instantiation: evp_cnf.c:CRYPTO_NEW_REF
Unexecuted instantiation: evp_pkey.c:CRYPTO_NEW_REF
Unexecuted instantiation: i2d_evp.c:CRYPTO_NEW_REF
Unexecuted instantiation: p12_p8e.c:CRYPTO_NEW_REF
Unexecuted instantiation: p_sign.c:CRYPTO_NEW_REF
Unexecuted instantiation: p_verify.c:CRYPTO_NEW_REF
Unexecuted instantiation: pcy_cache.c:CRYPTO_NEW_REF
Unexecuted instantiation: pcy_map.c:CRYPTO_NEW_REF
Unexecuted instantiation: pk7_doit.c:CRYPTO_NEW_REF
Unexecuted instantiation: pvkfmt.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_addr.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_asid.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_bcons.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_cpols.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_crld.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_ncons.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_ocsp.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_rolespec.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_san.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_sda.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_skid.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_tlsf.c:CRYPTO_NEW_REF
Unexecuted instantiation: x509_trust.c:CRYPTO_NEW_REF
Unexecuted instantiation: der_ecx_gen.c:CRYPTO_NEW_REF
Unexecuted instantiation: bf_buff.c:CRYPTO_NEW_REF
Unexecuted instantiation: bss_conn.c:CRYPTO_NEW_REF
Unexecuted instantiation: bss_dgram.c:CRYPTO_NEW_REF
Unexecuted instantiation: bss_null.c:CRYPTO_NEW_REF
Unexecuted instantiation: encode.c:CRYPTO_NEW_REF
Unexecuted instantiation: ocsp_asn.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_ac_tgt.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_akid.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_attrdesc.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_battcons.c:CRYPTO_NEW_REF
Unexecuted instantiation: v3_conf.c:CRYPTO_NEW_REF
Unexecuted instantiation: ecp_nistz256.c:CRYPTO_NEW_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:CRYPTO_NEW_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:CRYPTO_NEW_REF
272
273
12.4k
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
12.4k
{
275
12.4k
}
bio_lib.c:CRYPTO_FREE_REF
Line
Count
Source
273
12
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
12
{
275
12
}
Unexecuted instantiation: bio_meth.c:CRYPTO_FREE_REF
Unexecuted instantiation: bio_sock.c:CRYPTO_FREE_REF
Unexecuted instantiation: bio_sock2.c:CRYPTO_FREE_REF
Unexecuted instantiation: bss_mem.c:CRYPTO_FREE_REF
Unexecuted instantiation: bss_sock.c:CRYPTO_FREE_REF
Unexecuted instantiation: curve25519.c:CRYPTO_FREE_REF
Unexecuted instantiation: curve448.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_key.c:CRYPTO_FREE_REF
dh_lib.c:CRYPTO_FREE_REF
Line
Count
Source
273
292
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
292
{
275
292
}
Unexecuted instantiation: digest.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_gen.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_key.c:CRYPTO_FREE_REF
dsa_lib.c:CRYPTO_FREE_REF
Line
Count
Source
273
711
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
711
{
275
711
}
Unexecuted instantiation: dsa_ossl.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_sign.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_vrf.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_aes.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_aria.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_bf.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_camellia.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_cast.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_chacha20_poly1305.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_des.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_des3.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_idea.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_rc2.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_rc4.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_rc4_hmac_md5.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_rc5.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_seed.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_sm4.c:CRYPTO_FREE_REF
Unexecuted instantiation: e_xcbc_d.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_asn1.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_curve.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_cvt.c:CRYPTO_FREE_REF
ec_key.c:CRYPTO_FREE_REF
Line
Count
Source
273
4.05k
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
4.05k
{
275
4.05k
}
Unexecuted instantiation: ec_kmeth.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_lib.c:CRYPTO_FREE_REF
ec_mult.c:CRYPTO_FREE_REF
Line
Count
Source
273
50
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
50
{
275
50
}
Unexecuted instantiation: ec_oct.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecdh_ossl.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecdsa_ossl.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecdsa_sign.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecdsa_vrf.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecp_mont.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecp_nist.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecp_oct.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecp_smpl.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_init.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_list.c:CRYPTO_FREE_REF
evp_enc.c:CRYPTO_FREE_REF
Line
Count
Source
273
256
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
256
{
275
256
}
Unexecuted instantiation: evp_fetch.c:CRYPTO_FREE_REF
evp_lib.c:CRYPTO_FREE_REF
Line
Count
Source
273
54
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
54
{
275
54
}
Unexecuted instantiation: evp_utils.c:CRYPTO_FREE_REF
exchange.c:CRYPTO_FREE_REF
Line
Count
Source
273
14
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
14
{
275
14
}
Unexecuted instantiation: init.c:CRYPTO_FREE_REF
Unexecuted instantiation: kdf_lib.c:CRYPTO_FREE_REF
kdf_meth.c:CRYPTO_FREE_REF
Line
Count
Source
273
32
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
32
{
275
32
}
Unexecuted instantiation: keymgmt_lib.c:CRYPTO_FREE_REF
keymgmt_meth.c:CRYPTO_FREE_REF
Line
Count
Source
273
36
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
36
{
275
36
}
Unexecuted instantiation: legacy_blake2.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_md2.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_md4.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_md5.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_md5_sha1.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_mdc2.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_ripemd.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_sha.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_sm3.c:CRYPTO_FREE_REF
Unexecuted instantiation: legacy_wp.c:CRYPTO_FREE_REF
Unexecuted instantiation: m_sigver.c:CRYPTO_FREE_REF
Unexecuted instantiation: mac_lib.c:CRYPTO_FREE_REF
mac_meth.c:CRYPTO_FREE_REF
Line
Count
Source
273
18
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
18
{
275
18
}
Unexecuted instantiation: names.c:CRYPTO_FREE_REF
p_lib.c:CRYPTO_FREE_REF
Line
Count
Source
273
3.38k
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
3.38k
{
275
3.38k
}
Unexecuted instantiation: pmeth_check.c:CRYPTO_FREE_REF
Unexecuted instantiation: pmeth_gn.c:CRYPTO_FREE_REF
Unexecuted instantiation: pmeth_lib.c:CRYPTO_FREE_REF
provider_core.c:CRYPTO_FREE_REF
Line
Count
Source
273
2
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
2
{
275
2
}
Unexecuted instantiation: rsa_backend.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_crpt.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_gen.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_mp.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_ossl.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_pk1.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_pmeth.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_pss.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_sign.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_sp800_56b_check.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_sp800_56b_gen.c:CRYPTO_FREE_REF
signature.c:CRYPTO_FREE_REF
Line
Count
Source
273
88
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
88
{
275
88
}
Unexecuted instantiation: store_init.c:CRYPTO_FREE_REF
Unexecuted instantiation: store_meth.c:CRYPTO_FREE_REF
Unexecuted instantiation: store_register.c:CRYPTO_FREE_REF
Unexecuted instantiation: tasn_utl.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_asnmth.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_cipher.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_dh.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_digest.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_dsa.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_eckey.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_pkmeth.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_rand.c:CRYPTO_FREE_REF
Unexecuted instantiation: tb_rsa.c:CRYPTO_FREE_REF
Unexecuted instantiation: trace.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_att.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_algor.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_attrib.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_name.c:CRYPTO_FREE_REF
Unexecuted instantiation: blake2b_prov.c:CRYPTO_FREE_REF
Unexecuted instantiation: blake2s_prov.c:CRYPTO_FREE_REF
Unexecuted instantiation: ameth_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: asymcipher.c:CRYPTO_FREE_REF
Unexecuted instantiation: bf_prefix.c:CRYPTO_FREE_REF
Unexecuted instantiation: bio_addr.c:CRYPTO_FREE_REF
Unexecuted instantiation: bio_dump.c:CRYPTO_FREE_REF
Unexecuted instantiation: bss_file.c:CRYPTO_FREE_REF
Unexecuted instantiation: c_allc.c:CRYPTO_FREE_REF
Unexecuted instantiation: c_alld.c:CRYPTO_FREE_REF
Unexecuted instantiation: cmp_util.c:CRYPTO_FREE_REF
Unexecuted instantiation: ctrl_params_translate.c:CRYPTO_FREE_REF
Unexecuted instantiation: decoder_meth.c:CRYPTO_FREE_REF
Unexecuted instantiation: decoder_pkey.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_ameth.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_asn1.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_backend.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_check.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_group_params.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_pmeth.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_ameth.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_asn1.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_backend.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_pmeth.c:CRYPTO_FREE_REF
Unexecuted instantiation: dso_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec2_oct.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec2_smpl.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_ameth.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_backend.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_check.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_pmeth.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecdh_kdf.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecx_key.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecx_meth.c:CRYPTO_FREE_REF
Unexecuted instantiation: eddsa.c:CRYPTO_FREE_REF
Unexecuted instantiation: encoder_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: encoder_meth.c:CRYPTO_FREE_REF
Unexecuted instantiation: encoder_pkey.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_all.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_ctrl.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_dyn.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_fat.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_pkey.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_table.c:CRYPTO_FREE_REF
Unexecuted instantiation: evp_pbe.c:CRYPTO_FREE_REF
evp_rand.c:CRYPTO_FREE_REF
Line
Count
Source
273
16
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
16
{
275
16
}
Unexecuted instantiation: hpke_util.c:CRYPTO_FREE_REF
Unexecuted instantiation: kem.c:CRYPTO_FREE_REF
Unexecuted instantiation: m_null.c:CRYPTO_FREE_REF
Unexecuted instantiation: ossl_core_bio.c:CRYPTO_FREE_REF
Unexecuted instantiation: p12_crpt.c:CRYPTO_FREE_REF
Unexecuted instantiation: p5_crpt2.c:CRYPTO_FREE_REF
Unexecuted instantiation: p5_pbe.c:CRYPTO_FREE_REF
Unexecuted instantiation: p5_pbev2.c:CRYPTO_FREE_REF
Unexecuted instantiation: p5_scrypt.c:CRYPTO_FREE_REF
Unexecuted instantiation: p8_pkey.c:CRYPTO_FREE_REF
Unexecuted instantiation: p_legacy.c:CRYPTO_FREE_REF
Unexecuted instantiation: pem_pkey.c:CRYPTO_FREE_REF
Unexecuted instantiation: pk7_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: prov_seed.c:CRYPTO_FREE_REF
Unexecuted instantiation: provider_child.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_ameth.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_asn1.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_chk.c:CRYPTO_FREE_REF
Unexecuted instantiation: rsa_oaep.c:CRYPTO_FREE_REF
Unexecuted instantiation: t_x509.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_purp.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_utl.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_cmp.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_ext.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_lu.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_obj.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_req.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_set.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_v3.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_vfy.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_vpm.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509cset.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509name.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509rset.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_all.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_crl.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_exten.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_pubkey.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_req.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_sig.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_x509.c:CRYPTO_FREE_REF
Unexecuted instantiation: x_x509a.c:CRYPTO_FREE_REF
Unexecuted instantiation: argon2.c:CRYPTO_FREE_REF
Unexecuted instantiation: blake2_prov.c:CRYPTO_FREE_REF
Unexecuted instantiation: blake2b_mac.c:CRYPTO_FREE_REF
Unexecuted instantiation: blake2s_mac.c:CRYPTO_FREE_REF
Unexecuted instantiation: cipher_aes.c:CRYPTO_FREE_REF
Unexecuted instantiation: cipher_camellia.c:CRYPTO_FREE_REF
Unexecuted instantiation: cipher_cts.c:CRYPTO_FREE_REF
Unexecuted instantiation: cipher_tdes_wrap.c:CRYPTO_FREE_REF
Unexecuted instantiation: decode_der2key.c:CRYPTO_FREE_REF
Unexecuted instantiation: decode_spki2typespki.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecx_exch.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecx_kem.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecx_kmgmt.c:CRYPTO_FREE_REF
Unexecuted instantiation: eddsa_sig.c:CRYPTO_FREE_REF
Unexecuted instantiation: encode_key2any.c:CRYPTO_FREE_REF
Unexecuted instantiation: encode_key2text.c:CRYPTO_FREE_REF
Unexecuted instantiation: hkdf.c:CRYPTO_FREE_REF
Unexecuted instantiation: kbkdf.c:CRYPTO_FREE_REF
Unexecuted instantiation: kdf_exch.c:CRYPTO_FREE_REF
kdf_legacy_kmgmt.c:CRYPTO_FREE_REF
Line
Count
Source
273
470
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
470
{
275
470
}
Unexecuted instantiation: krb5kdf.c:CRYPTO_FREE_REF
mac_legacy_kmgmt.c:CRYPTO_FREE_REF
Line
Count
Source
273
2.91k
static ossl_unused ossl_inline void CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)                                  \
274
2.91k
{
275
2.91k
}
Unexecuted instantiation: mac_legacy_sig.c:CRYPTO_FREE_REF
Unexecuted instantiation: pbkdf2.c:CRYPTO_FREE_REF
Unexecuted instantiation: pkcs12kdf.c:CRYPTO_FREE_REF
Unexecuted instantiation: provider_util.c:CRYPTO_FREE_REF
Unexecuted instantiation: scrypt.c:CRYPTO_FREE_REF
Unexecuted instantiation: sshkdf.c:CRYPTO_FREE_REF
Unexecuted instantiation: sskdf.c:CRYPTO_FREE_REF
Unexecuted instantiation: tls1_prf.c:CRYPTO_FREE_REF
Unexecuted instantiation: der_ecx_key.c:CRYPTO_FREE_REF
Unexecuted instantiation: a_digest.c:CRYPTO_FREE_REF
Unexecuted instantiation: a_sign.c:CRYPTO_FREE_REF
Unexecuted instantiation: a_verify.c:CRYPTO_FREE_REF
Unexecuted instantiation: bf_readbuff.c:CRYPTO_FREE_REF
Unexecuted instantiation: bss_core.c:CRYPTO_FREE_REF
Unexecuted instantiation: cmeth_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: d2i_pr.c:CRYPTO_FREE_REF
Unexecuted instantiation: decoder_lib.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_ctrl.c:CRYPTO_FREE_REF
Unexecuted instantiation: dh_gen.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_check.c:CRYPTO_FREE_REF
Unexecuted instantiation: dsa_ctrl.c:CRYPTO_FREE_REF
Unexecuted instantiation: dso_dlfcn.c:CRYPTO_FREE_REF
Unexecuted instantiation: ec_ctrl.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecx_backend.c:CRYPTO_FREE_REF
Unexecuted instantiation: eng_cnf.c:CRYPTO_FREE_REF
Unexecuted instantiation: evp_cnf.c:CRYPTO_FREE_REF
Unexecuted instantiation: evp_pkey.c:CRYPTO_FREE_REF
Unexecuted instantiation: i2d_evp.c:CRYPTO_FREE_REF
Unexecuted instantiation: p12_p8e.c:CRYPTO_FREE_REF
Unexecuted instantiation: p_sign.c:CRYPTO_FREE_REF
Unexecuted instantiation: p_verify.c:CRYPTO_FREE_REF
Unexecuted instantiation: pcy_cache.c:CRYPTO_FREE_REF
Unexecuted instantiation: pcy_map.c:CRYPTO_FREE_REF
Unexecuted instantiation: pk7_doit.c:CRYPTO_FREE_REF
Unexecuted instantiation: pvkfmt.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_addr.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_asid.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_bcons.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_cpols.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_crld.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_ncons.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_ocsp.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_rolespec.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_san.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_sda.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_skid.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_tlsf.c:CRYPTO_FREE_REF
Unexecuted instantiation: x509_trust.c:CRYPTO_FREE_REF
Unexecuted instantiation: der_ecx_gen.c:CRYPTO_FREE_REF
Unexecuted instantiation: bf_buff.c:CRYPTO_FREE_REF
Unexecuted instantiation: bss_conn.c:CRYPTO_FREE_REF
Unexecuted instantiation: bss_dgram.c:CRYPTO_FREE_REF
Unexecuted instantiation: bss_null.c:CRYPTO_FREE_REF
Unexecuted instantiation: encode.c:CRYPTO_FREE_REF
Unexecuted instantiation: ocsp_asn.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_ac_tgt.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_akid.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_attrdesc.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_battcons.c:CRYPTO_FREE_REF
Unexecuted instantiation: v3_conf.c:CRYPTO_FREE_REF
Unexecuted instantiation: ecp_nistz256.c:CRYPTO_FREE_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:CRYPTO_FREE_REF
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:CRYPTO_FREE_REF
276
# endif /* CRYPTO_NEW_FREE_DEFINED */
277
#undef CRYPTO_NEW_FREE_DEFINED
278
279
# if !defined(NDEBUG) && !defined(OPENSSL_NO_STDIO)
280
#  define REF_ASSERT_ISNT(test) \
281
47.5k
    (void)((test) ? (OPENSSL_die("refcount error", __FILE__, __LINE__), 1) : 0)
282
# else
283
#  define REF_ASSERT_ISNT(i)
284
# endif
285
286
# define REF_PRINT_EX(text, count, object) \
287
86.6k
    OSSL_TRACE3(REF_COUNT, "%p:%4d:%s\n", (object), (count), (text));
288
# define REF_PRINT_COUNT(text, object) \
289
86.6k
    REF_PRINT_EX(text, object->references.val, (void *)object)
290
291
#endif