OpenCoverage

tasn_fre.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/tasn_fre.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: tasn_fre.c,v 1.16 2018/04/06 12:16:06 bluhm Exp $ */-
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL-
3 * project 2000.-
4 */-
5/* ====================================================================-
6 * Copyright (c) 2000 The OpenSSL Project. All rights reserved.-
7 *-
8 * Redistribution and use in source and binary forms, with or without-
9 * modification, are permitted provided that the following conditions-
10 * are met:-
11 *-
12 * 1. Redistributions of source code must retain the above copyright-
13 * notice, this list of conditions and the following disclaimer.-
14 *-
15 * 2. Redistributions in binary form must reproduce the above copyright-
16 * notice, this list of conditions and the following disclaimer in-
17 * the documentation and/or other materials provided with the-
18 * distribution.-
19 *-
20 * 3. All advertising materials mentioning features or use of this-
21 * software must display the following acknowledgment:-
22 * "This product includes software developed by the OpenSSL Project-
23 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"-
24 *-
25 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to-
26 * endorse or promote products derived from this software without-
27 * prior written permission. For written permission, please contact-
28 * licensing@OpenSSL.org.-
29 *-
30 * 5. Products derived from this software may not be called "OpenSSL"-
31 * nor may "OpenSSL" appear in their names without prior written-
32 * permission of the OpenSSL Project.-
33 *-
34 * 6. Redistributions of any form whatsoever must retain the following-
35 * acknowledgment:-
36 * "This product includes software developed by the OpenSSL Project-
37 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"-
38 *-
39 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY-
40 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
41 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-
42 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR-
43 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-
44 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT-
45 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;-
46 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
47 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,-
48 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)-
49 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED-
50 * OF THE POSSIBILITY OF SUCH DAMAGE.-
51 * ====================================================================-
52 *-
53 * This product includes cryptographic software written by Eric Young-
54 * (eay@cryptsoft.com). This product includes software written by Tim-
55 * Hudson (tjh@cryptsoft.com).-
56 *-
57 */-
58-
59-
60#include <stddef.h>-
61#include <openssl/asn1.h>-
62#include <openssl/asn1t.h>-
63#include <openssl/objects.h>-
64-
65static void asn1_item_combine_free(ASN1_VALUE **pval, const ASN1_ITEM *it,-
66 int combine);-
67-
68/* Free up an ASN1 structure */-
69-
70void-
71ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it)-
72{-
73 asn1_item_combine_free(&val, it, 0);-
74}
executed 11889 times by 21 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
11889
75-
76void-
77ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)-
78{-
79 asn1_item_combine_free(pval, it, 0);-
80}
executed 76 times by 1 test: end of block
Executed by:
  • ecdsatest
76
81-
82static void-
83asn1_item_combine_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int combine)-
84{-
85 const ASN1_TEMPLATE *tt = NULL, *seqtt;-
86 const ASN1_EXTERN_FUNCS *ef;-
87 const ASN1_AUX *aux = it->funcs;-
88 ASN1_aux_cb *asn1_cb = NULL;-
89 int i;-
90-
91 if (pval == NULL)
pval == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30870 times by 21 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-30870
92 return;
never executed: return;
0
93 /* For primitive types *pval may be something other than C pointer. */-
94 if (it->itype != ASN1_ITYPE_PRIMITIVE && *pval == NULL)
it->itype != 0x0Description
TRUEevaluated 15975 times by 21 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 14895 times by 14 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
*pval == ((void *)0)Description
TRUEevaluated 3565 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 12410 times by 12 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tlstest
  • verifytest
3565-15975
95 return;
executed 3565 times by 18 tests: return;
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
3565
96-
97 if (aux != NULL && aux->asn1_cb != NULL)
aux != ((void *)0)Description
TRUEevaluated 3195 times by 9 tests
Evaluated by:
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 24110 times by 14 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
aux->asn1_cb != ((void *)0)Description
TRUEevaluated 2399 times by 9 tests
Evaluated by:
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 796 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
796-24110
98 asn1_cb = aux->asn1_cb;
executed 2399 times by 9 tests: asn1_cb = aux->asn1_cb;
Executed by:
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
2399
99-
100 switch (it->itype) {-
101 case ASN1_ITYPE_PRIMITIVE:
executed 14895 times by 14 tests: case 0x0:
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
14895
102 if (it->templates)
it->templatesDescription
TRUEevaluated 493 times by 8 tests
Evaluated by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 14402 times by 14 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
493-14402
103 ASN1_template_free(pval, it->templates);
executed 493 times by 8 tests: ASN1_template_free(pval, it->templates);
Executed by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • servertest
  • ssltest
  • tlstest
  • verifytest
493
104 else-
105 ASN1_primitive_free(pval, it);
executed 14402 times by 14 tests: ASN1_primitive_free(pval, it);
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
14402
106 break;
executed 14895 times by 14 tests: break;
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
14895
107-
108 case ASN1_ITYPE_MSTRING:
executed 4189 times by 10 tests: case 0x5:
Executed by:
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tlstest
  • verifytest
4189
109 ASN1_primitive_free(pval, it);-
110 break;
executed 4189 times by 10 tests: break;
Executed by:
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tlstest
  • verifytest
4189
111-
112 case ASN1_ITYPE_CHOICE:
executed 56 times by 2 tests: case 0x2:
Executed by:
  • pkcs7test
  • verifytest
56
113 if (asn1_cb) {
asn1_cbDescription
TRUEnever evaluated
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • pkcs7test
  • verifytest
0-56
114 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);-
115 if (i == 2)
i == 2Description
TRUEnever evaluated
FALSEnever evaluated
0
116 return;
never executed: return;
0
117 }
never executed: end of block
0
118 i = asn1_get_choice_selector(pval, it);-
119 if ((i >= 0) && (i < it->tcount)) {
(i >= 0)Description
TRUEevaluated 56 times by 2 tests
Evaluated by:
  • pkcs7test
  • verifytest
FALSEnever evaluated
(i < it->tcount)Description
TRUEevaluated 56 times by 2 tests
Evaluated by:
  • pkcs7test
  • verifytest
FALSEnever evaluated
0-56
120 ASN1_VALUE **pchval;-
121 tt = it->templates + i;-
122 pchval = asn1_get_field_ptr(pval, tt);-
123 ASN1_template_free(pchval, tt);-
124 }
executed 56 times by 2 tests: end of block
Executed by:
  • pkcs7test
  • verifytest
56
125 if (asn1_cb)
asn1_cbDescription
TRUEnever evaluated
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • pkcs7test
  • verifytest
0-56
126 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
never executed: asn1_cb(3, pval, it, ((void *)0) );
0
127 if (!combine) {
!combineDescription
TRUEevaluated 48 times by 1 test
Evaluated by:
  • verifytest
FALSEevaluated 8 times by 1 test
Evaluated by:
  • pkcs7test
8-48
128 free(*pval);-
129 *pval = NULL;-
130 }
executed 48 times by 1 test: end of block
Executed by:
  • verifytest
48
131 break;
executed 56 times by 2 tests: break;
Executed by:
  • pkcs7test
  • verifytest
56
132-
133 case ASN1_ITYPE_EXTERN:
executed 550 times by 8 tests: case 0x4:
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
550
134 ef = it->funcs;-
135 if (ef && ef->asn1_ex_free)
efDescription
TRUEevaluated 550 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEnever evaluated
ef->asn1_ex_freeDescription
TRUEevaluated 550 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEnever evaluated
0-550
136 ef->asn1_ex_free(pval, it);
executed 550 times by 8 tests: ef->asn1_ex_free(pval, it);
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
550
137 break;
executed 550 times by 8 tests: break;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
550
138-
139 case ASN1_ITYPE_NDEF_SEQUENCE:
executed 11 times by 1 test: case 0x6:
Executed by:
  • pkcs7test
11
140 case ASN1_ITYPE_SEQUENCE:
executed 7604 times by 10 tests: case 0x1:
Executed by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
7604
141 if (asn1_do_lock(pval, -1, it) > 0)
asn1_do_lock(pval, -1, it) > 0Description
TRUEevaluated 550 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 7065 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
550-7065
142 return;
executed 550 times by 4 tests: return;
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
550
143 if (asn1_cb) {
asn1_cbDescription
TRUEevaluated 507 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 6558 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
507-6558
144 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);-
145 if (i == 2)
i == 2Description
TRUEnever evaluated
FALSEevaluated 507 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
0-507
146 return;
never executed: return;
0
147 }
executed 507 times by 8 tests: end of block
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
507
148 asn1_enc_free(pval, it);-
149 /* If we free up as normal we will invalidate any-
150 * ANY DEFINED BY field and we wont be able to-
151 * determine the type of the field it defines. So-
152 * free up in reverse order.-
153 */-
154 tt = it->templates + it->tcount - 1;-
155 for (i = 0; i < it->tcount; tt--, i++) {
i < it->tcountDescription
TRUEevaluated 17163 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 7065 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
7065-17163
156 ASN1_VALUE **pseqval;-
157 seqtt = asn1_do_adb(pval, tt, 0);-
158 if (!seqtt)
!seqttDescription
TRUEnever evaluated
FALSEevaluated 17163 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
0-17163
159 continue;
never executed: continue;
0
160 pseqval = asn1_get_field_ptr(pval, seqtt);-
161 ASN1_template_free(pseqval, seqtt);-
162 }
executed 17163 times by 10 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
17163
163 if (asn1_cb)
asn1_cbDescription
TRUEevaluated 507 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 6558 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
507-6558
164 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
executed 507 times by 8 tests: asn1_cb(3, pval, it, ((void *)0) );
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
507
165 if (!combine) {
!combineDescription
TRUEevaluated 7065 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEnever evaluated
0-7065
166 free(*pval);-
167 *pval = NULL;-
168 }
executed 7065 times by 10 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
7065
169 break;
executed 7065 times by 10 tests: break;
Executed by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
7065
170 }-
171}
executed 26755 times by 14 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
26755
172-
173void-
174ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)-
175{-
176 int i;-
177 if (tt->flags & ASN1_TFLG_SK_MASK) {
tt->flags & (0x3 << 1)Description
TRUEevaluated 920 times by 9 tests
Evaluated by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 18150 times by 10 tests
Evaluated by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
920-18150
178 STACK_OF(ASN1_VALUE) *sk = (STACK_OF(ASN1_VALUE) *)*pval;-
179 for (i = 0; i < sk_ASN1_VALUE_num(sk); i++) {
i < sk_num(((_...N1_VALUE*)0)))Description
TRUEevaluated 755 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 920 times by 9 tests
Evaluated by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
755-920
180 ASN1_VALUE *vtmp;-
181 vtmp = sk_ASN1_VALUE_value(sk, i);-
182 asn1_item_combine_free(&vtmp, tt->item,-
183 0);-
184 }
executed 755 times by 8 tests: end of block
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
755
185 sk_ASN1_VALUE_free(sk);-
186 *pval = NULL;-
187 } else
executed 920 times by 9 tests: end of block
Executed by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
920
188 asn1_item_combine_free(pval, tt->item,
executed 18150 times by 10 tests: asn1_item_combine_free(pval, tt->item, tt->flags & (0x1<<10));
Executed by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
18150
189 tt->flags & ASN1_TFLG_COMBINE);
executed 18150 times by 10 tests: asn1_item_combine_free(pval, tt->item, tt->flags & (0x1<<10));
Executed by:
  • asn1evp
  • asn1test
  • ecdsatest
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
18150
190}-
191-
192void-
193ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it)-
194{-
195 int utype;-
196 if (it) {
itDescription
TRUEevaluated 18591 times by 14 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • ecdsatest
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
FALSEevaluated 669 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
669-18591
197 const ASN1_PRIMITIVE_FUNCS *pf;-
198 pf = it->funcs;-
199 if (pf && pf->prim_free) {
pfDescription
TRUEevaluated 1342 times by 2 tests
Evaluated by:
  • ecdsatest
  • ssltest
FALSEevaluated 17249 times by 13 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
pf->prim_freeDescription
TRUEevaluated 1342 times by 2 tests
Evaluated by:
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-17249
200 pf->prim_free(pval, it);-
201 return;
executed 1342 times by 2 tests: return;
Executed by:
  • ecdsatest
  • ssltest
1342
202 }-
203 }
executed 17249 times by 13 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
17249
204 /* Special case: if 'it' is NULL free contents of ASN1_TYPE */-
205 if (!it) {
!itDescription
TRUEevaluated 669 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 17249 times by 13 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
669-17249
206 ASN1_TYPE *typ = (ASN1_TYPE *)*pval;-
207 utype = typ->type;-
208 pval = &typ->value.asn1_value;-
209 if (!*pval)
!*pvalDescription
TRUEevaluated 650 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 19 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
19-650
210 return;
executed 650 times by 7 tests: return;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
650
211 } else if (it->itype == ASN1_ITYPE_MSTRING) {
executed 19 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
it->itype == 0x5Description
TRUEevaluated 4189 times by 10 tests
Evaluated by:
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 13060 times by 13 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
19-13060
212 utype = -1;-
213 if (!*pval)
!*pvalDescription
TRUEnever evaluated
FALSEevaluated 4189 times by 10 tests
Evaluated by:
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tlstest
  • verifytest
0-4189
214 return;
never executed: return;
0
215 } else {
executed 4189 times by 10 tests: end of block
Executed by:
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tlstest
  • verifytest
4189
216 utype = it->utype;-
217 if ((utype != V_ASN1_BOOLEAN) && !*pval)
(utype != 1)Description
TRUEevaluated 11705 times by 13 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
FALSEevaluated 1355 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
!*pvalDescription
TRUEevaluated 1824 times by 9 tests
Evaluated by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 9881 times by 12 tests
Evaluated by:
  • asn1evp
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
1355-11705
218 return;
executed 1824 times by 9 tests: return;
Executed by:
  • asn1test
  • freenull
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
1824
219 }
executed 11236 times by 12 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
11236
220-
221 switch (utype) {-
222 case V_ASN1_OBJECT:
executed 5185 times by 8 tests: case 6:
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
5185
223 ASN1_OBJECT_free((ASN1_OBJECT *)*pval);-
224 break;
executed 5185 times by 8 tests: break;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
5185
225-
226 case V_ASN1_BOOLEAN:
executed 1355 times by 8 tests: case 1:
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
1355
227 if (it)
itDescription
TRUEevaluated 1355 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEnever evaluated
0-1355
228 *(ASN1_BOOLEAN *)pval = it->size;
executed 1355 times by 8 tests: *(ASN1_BOOLEAN *)pval = it->size;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
1355
229 else-
230 *(ASN1_BOOLEAN *)pval = -1;
never executed: *(ASN1_BOOLEAN *)pval = -1;
0
231 return;
executed 1355 times by 8 tests: return;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
1355
232-
233 case V_ASN1_NULL:
never executed: case 5:
0
234 break;
never executed: break;
0
235-
236 case V_ASN1_ANY:
executed 669 times by 7 tests: case -4:
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
669
237 ASN1_primitive_free(pval, NULL);-
238 free(*pval);-
239 break;
executed 669 times by 7 tests: break;
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
669
240-
241 default:
executed 8235 times by 12 tests: default:
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
8235
242 ASN1_STRING_free((ASN1_STRING *)*pval);-
243 break;
executed 8235 times by 12 tests: break;
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
8235
244 }-
245 *pval = NULL;-
246}
executed 14089 times by 12 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • asn1time
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rfc5280time
  • servertest
  • ssltest
  • tls_prf
  • tlstest
  • verifytest
14089
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2