OpenCoverage

ssl_cert.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_cert.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5int-
6SSL_get_ex_data_X509_STORE_CTX_idx(void)-
7{-
8 static volatile int ssl_x509_store_ctx_idx = -1;-
9 int got_write_lock = 0;-
10-
11 CRYPTO_lock(1|4,12,__FILE__,139);-
12-
13 if (ssl_x509_store_ctx_idx < 0
ssl_x509_store_ctx_idx < 0Description
TRUEevaluated 63 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 211 times by 8 tests
Evaluated by:
  • cipherstest
  • clienttest
  • servertest
  • ssl_versions
  • ssltest
  • tls_prf
  • tlsexttest
  • tlstest
) {
63-211
14 CRYPTO_lock(2|4,12,__FILE__,142);-
15 CRYPTO_lock(1|8,12,__FILE__,143);-
16 got_write_lock = 1;-
17-
18 if (ssl_x509_store_ctx_idx < 0
ssl_x509_store_ctx_idx < 0Description
TRUEevaluated 63 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
) {
0-63
19 ssl_x509_store_ctx_idx =-
20 X509_STORE_CTX_get_ex_new_index(-
21 0, "SSL for verify callback", -
22 ((void *)0)-
23 , -
24 ((void *)0)-
25 , -
26 ((void *)0)-
27 );-
28 }
executed 63 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
63
29 }
executed 63 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
63
30-
31 if (got_write_lock
got_write_lockDescription
TRUEevaluated 63 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 211 times by 8 tests
Evaluated by:
  • cipherstest
  • clienttest
  • servertest
  • ssl_versions
  • ssltest
  • tls_prf
  • tlsexttest
  • tlstest
)
63-211
32 CRYPTO_lock(2|8,12,__FILE__,154);
executed 63 times by 13 tests: CRYPTO_lock(2|8,12,__FILE__,154);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
63
33 else-
34 CRYPTO_lock(2|4,12,__FILE__,156);
executed 211 times by 8 tests: CRYPTO_lock(2|4,12,__FILE__,156);
Executed by:
  • cipherstest
  • clienttest
  • servertest
  • ssl_versions
  • ssltest
  • tls_prf
  • tlsexttest
  • tlstest
211
35-
36 return
executed 274 times by 13 tests: return ssl_x509_store_ctx_idx;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
ssl_x509_store_ctx_idx;
executed 274 times by 13 tests: return ssl_x509_store_ctx_idx;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
274
37}-
38-
39static void-
40ssl_cert_set_default_md(CERT *cert)-
41{-
42-
43 cert->pkeys[1].digest = EVP_sha1();-
44 cert->pkeys[0].digest = EVP_sha1();-
45 cert->pkeys[3].digest = EVP_sha1();-
46-
47 cert->pkeys[4].digest = EVP_gostr341194();-
48-
49}
executed 416 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
416
50-
51CERT *-
52ssl_cert_new(void)-
53{-
54 CERT *ret;-
55-
56 ret = calloc(1, sizeof(CERT));-
57 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 214 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-214
58 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 214 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-214
59 ) {-
60 ERR_put_error(20,(0xfff),((1|64)),__FILE__,180);-
61 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
62 ((void *)0)
never executed: return ( ((void *)0) );
0
63 );
never executed: return ( ((void *)0) );
0
64 }-
65 ret->key = &(ret->pkeys[0]);-
66 ret->references = 1;-
67 ssl_cert_set_default_md(ret);-
68 return
executed 214 times by 13 tests: return (ret);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
(ret);
executed 214 times by 13 tests: return (ret);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
214
69}-
70-
71CERT *-
72ssl_cert_dup(CERT *cert)-
73{-
74 CERT *ret;-
75 int i;-
76-
77 ret = calloc(1, sizeof(CERT));-
78 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
0-202
79 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 202 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
0-202
80 ) {-
81 ERR_put_error(20,(0xfff),((1|64)),__FILE__,197);-
82 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
83 ((void *)0)
never executed: return ( ((void *)0) );
0
84 );
never executed: return ( ((void *)0) );
0
85 }-
86-
87-
88-
89-
90-
91 ret->key = &ret->pkeys[cert->key - &cert->pkeys[0]];-
92-
93 ret->valid = cert->valid;-
94 ret->mask_k = cert->mask_k;-
95 ret->mask_a = cert->mask_a;-
96-
97 if (cert->dh_tmp !=
cert->dh_tmp != ((void *)0)Description
TRUEevaluated 49 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 153 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
49-153
98 ((void *)0)
cert->dh_tmp != ((void *)0)Description
TRUEevaluated 49 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 153 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
49-153
99 ) {-
100 ret->dh_tmp = DHparams_dup(cert->dh_tmp);-
101 if (ret->dh_tmp ==
ret->dh_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 1 test
Evaluated by:
  • ssltest
0-49
102 ((void *)0)
ret->dh_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 1 test
Evaluated by:
  • ssltest
0-49
103 ) {-
104 ERR_put_error(20,(0xfff),(5),__FILE__,214);-
105 goto
never executed: goto err;
err;
never executed: goto err;
0
106 }-
107 if (cert->dh_tmp->priv_key
cert->dh_tmp->priv_keyDescription
TRUEnever evaluated
FALSEevaluated 49 times by 1 test
Evaluated by:
  • ssltest
) {
0-49
108 BIGNUM *b = BN_dup(cert->dh_tmp->priv_key);-
109 if (!b
!bDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
110 ERR_put_error(20,(0xfff),(3),__FILE__,220);-
111 goto
never executed: goto err;
err;
never executed: goto err;
0
112 }-
113 ret->dh_tmp->priv_key = b;-
114 }
never executed: end of block
0
115 if (cert->dh_tmp->pub_key
cert->dh_tmp->pub_keyDescription
TRUEnever evaluated
FALSEevaluated 49 times by 1 test
Evaluated by:
  • ssltest
) {
0-49
116 BIGNUM *b = BN_dup(cert->dh_tmp->pub_key);-
117 if (!b
!bDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
118 ERR_put_error(20,(0xfff),(3),__FILE__,228);-
119 goto
never executed: goto err;
err;
never executed: goto err;
0
120 }-
121 ret->dh_tmp->pub_key = b;-
122 }
never executed: end of block
0
123 }
executed 49 times by 1 test: end of block
Executed by:
  • ssltest
49
124 ret->dh_tmp_cb = cert->dh_tmp_cb;-
125 ret->dh_tmp_auto = cert->dh_tmp_auto;-
126-
127 if (cert->ecdh_tmp
cert->ecdh_tmpDescription
TRUEnever evaluated
FALSEevaluated 202 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
) {
0-202
128 ret->ecdh_tmp = EC_KEY_dup(cert->ecdh_tmp);-
129 if (ret->ecdh_tmp ==
ret->ecdh_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
130 ((void *)0)
ret->ecdh_tmp == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
131 ) {-
132 ERR_put_error(20,(0xfff),(16),__FILE__,240);-
133 goto
never executed: goto err;
err;
never executed: goto err;
0
134 }-
135 }
never executed: end of block
0
136-
137 for (i = 0; i < 5
i < 5Description
TRUEevaluated 1010 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
FALSEevaluated 202 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
; i++) {
202-1010
138 if (cert->pkeys[i].x509 !=
cert->pkeys[i]...!= ((void *)0)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 947 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
63-947
139 ((void *)0)
cert->pkeys[i]...!= ((void *)0)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 947 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
63-947
140 ) {-
141 ret->pkeys[i].x509 = cert->pkeys[i].x509;-
142 CRYPTO_add_lock(&ret->pkeys[i].x509->references,1,3,-
143 __FILE__-
144 ,-
145 249-
146 )-
147 ;-
148 }
executed 63 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
63
149-
150 if (cert->pkeys[i].privatekey !=
cert->pkeys[i]...!= ((void *)0)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 947 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
63-947
151 ((void *)0)
cert->pkeys[i]...!= ((void *)0)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 947 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
63-947
152 ) {-
153 ret->pkeys[i].privatekey = cert->pkeys[i].privatekey;-
154 CRYPTO_add_lock(&ret->pkeys[i].privatekey->references,1,10,-
155 __FILE__-
156 ,-
157 255-
158 )-
159 ;-
160-
161 switch (i) {-
162-
163-
164-
165-
166-
167-
168 case
executed 63 times by 3 tests: case 0:
Executed by:
  • servertest
  • ssltest
  • tlstest
0:
executed 63 times by 3 tests: case 0:
Executed by:
  • servertest
  • ssltest
  • tlstest
63
169 case
never executed: case 1:
1:
never executed: case 1:
0
170-
171 break;
executed 63 times by 3 tests: break;
Executed by:
  • servertest
  • ssltest
  • tlstest
63
172-
173 case
never executed: case 2:
2:
never executed: case 2:
0
174-
175 break;
never executed: break;
0
176-
177 case
never executed: case 3:
3:
never executed: case 3:
0
178-
179 break;
never executed: break;
0
180-
181 default
never executed: default:
:
never executed: default:
0
182-
183 ERR_put_error(20,(0xfff),(274),__FILE__,279);-
184 }
never executed: end of block
0
185 }-
186 }
executed 1010 times by 11 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
1010
187-
188-
189-
190-
191-
192-
193 ret->references = 1;-
194-
195-
196-
197-
198 ssl_cert_set_default_md(ret);-
199-
200 return
executed 202 times by 11 tests: return (ret);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
(ret);
executed 202 times by 11 tests: return (ret);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
202
201-
202err:-
203 DH_free(ret->dh_tmp);-
204 EC_KEY_free(ret->ecdh_tmp);-
205-
206 for (i = 0; i < 5
i < 5Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
207 X509_free(ret->pkeys[i].x509);-
208 EVP_PKEY_free(ret->pkeys[i].privatekey);-
209 }
never executed: end of block
0
210 free (ret);-
211 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
212 ((void *)0)
never executed: return ((void *)0) ;
0
213 ;
never executed: return ((void *)0) ;
0
214}-
215-
216-
217void-
218ssl_cert_free(CERT *c)-
219{-
220 int i;-
221-
222 if (c ==
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 402 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-402
223 ((void *)0)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 402 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-402
224 )-
225 return;
never executed: return;
0
226-
227 i = CRYPTO_add_lock(&c->references,-1,13,__FILE__,319);-
228 if (i > 0
i > 0Description
TRUEnever evaluated
FALSEevaluated 402 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
)
0-402
229 return;
never executed: return;
0
230-
231 DH_free(c->dh_tmp);-
232 EC_KEY_free(c->ecdh_tmp);-
233-
234 for (i = 0; i < 5
i < 5Description
TRUEevaluated 2010 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 402 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
; i++) {
402-2010
235 X509_free(c->pkeys[i].x509);-
236 EVP_PKEY_free(c->pkeys[i].privatekey);-
237 }
executed 2010 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
2010
238-
239 free(c);-
240}
executed 402 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
402
241-
242int-
243ssl_cert_inst(CERT **o)-
244{-
245 if (o ==
o == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 126 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-126
246 ((void *)0)
o == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 126 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-126
247 ) {-
248 ERR_put_error(20,(0xfff),((3|64)),__FILE__,349);-
249 return
never executed: return (0);
(0);
never executed: return (0);
0
250 }-
251 if (*
*o == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 126 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
o ==
*o == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 126 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-126
252 ((void *)0)
*o == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 126 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-126
253 ) {-
254 if ((*
(*o = ssl_cert...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
o = ssl_cert_new()) ==
(*o = ssl_cert...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
255 ((void *)0)
(*o = ssl_cert...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
256 ) {-
257 ERR_put_error(20,(0xfff),((1|64)),__FILE__,354);-
258 return
never executed: return (0);
(0);
never executed: return (0);
0
259 }-
260 }
never executed: end of block
0
261 return
executed 126 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
(1);
executed 126 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
126
262}-
263-
264-
265SESS_CERT *-
266ssl_sess_cert_new(void)-
267{-
268 SESS_CERT *ret;-
269-
270 ret = calloc(1, sizeof *ret);-
271 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 70 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-70
272 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 70 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-70
273 ) {-
274 ERR_put_error(20,(0xfff),((1|64)),__FILE__,369);-
275 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
276 ((void *)0)
never executed: return ((void *)0) ;
0
277 ;
never executed: return ((void *)0) ;
0
278 }-
279 ret->peer_key = &(ret->peer_pkeys[0]);-
280 ret->references = 1;-
281-
282 return
executed 70 times by 2 tests: return ret;
Executed by:
  • ssltest
  • tlstest
ret;
executed 70 times by 2 tests: return ret;
Executed by:
  • ssltest
  • tlstest
70
283}-
284-
285void-
286ssl_sess_cert_free(SESS_CERT *sc)-
287{-
288 int i;-
289-
290 if (sc ==
sc == ((void *)0)Description
TRUEevaluated 140 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 70 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
70-140
291 ((void *)0)
sc == ((void *)0)Description
TRUEevaluated 140 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 70 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
70-140
292 )-
293 return;
executed 140 times by 5 tests: return;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
140
294-
295 i = CRYPTO_add_lock(&sc->references,-1,15,__FILE__,386);-
296 if (i > 0
i > 0Description
TRUEnever evaluated
FALSEevaluated 70 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-70
297 return;
never executed: return;
0
298-
299 sk_pop_free(((_STACK*) (1 ? (sc->cert_chain) : (struct stack_st_X509*)0)), ((void (*)(void *)) ((1 ? (X509_free) : (void (*)(X509 *))0))));-
300 for (i = 0; i < 5
i < 5Description
TRUEevaluated 350 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 70 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
; i++)
70-350
301 X509_free(sc->peer_pkeys[i].x509);
executed 350 times by 2 tests: X509_free(sc->peer_pkeys[i].x509);
Executed by:
  • ssltest
  • tlstest
350
302-
303 DH_free(sc->peer_dh_tmp);-
304 EC_KEY_free(sc->peer_ecdh_tmp);-
305 free(sc->peer_x25519_tmp);-
306-
307 free(sc);-
308}
executed 70 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
70
309-
310int-
311ssl_verify_cert_chain(SSL *s, struct stack_st_X509 *sk)-
312{-
313 X509_STORE_CTX ctx;-
314 X509 *x;-
315 int ret;-
316-
317 if ((
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
sk ==
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-60
318 ((void *)0)
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-60
319 )
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
|| (
(sk_num(((_STA...09*)0))) == 0)Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
sk_num(((_STACK*) (1 ? (sk) : (struct stack_st_X509*)0))) == 0)
(sk_num(((_STA...09*)0))) == 0)Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-60
320 return
never executed: return (0);
(0);
never executed: return (0);
0
321-
322 x = ((X509 *)sk_value(((_STACK*) (1 ? (sk) : (struct stack_st_X509*)0)), (0)));-
323 if (!X509_STORE_CTX_init(&ctx, s->ctx->cert_store, x, sk)
!X509_STORE_CT..._store, x, sk)Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-60
324 SSL_error_internal(s, 11, __FILE__, 413);-
325 return
never executed: return (0);
(0);
never executed: return (0);
0
326 }-
327 X509_STORE_CTX_set_ex_data(&ctx,-
328 SSL_get_ex_data_X509_STORE_CTX_idx(), s);-
329-
330-
331-
332-
333-
334-
335 X509_STORE_CTX_set_default(&ctx,-
336 s->server ? "ssl_client" : "ssl_server");-
337-
338-
339-
340-
341-
342 X509_VERIFY_PARAM_set1(X509_STORE_CTX_get0_param(&ctx), s->param);-
343-
344 if (s->internal->verify_callback
s->internal->verify_callbackDescription
TRUEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 46 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
14-46
345 X509_STORE_CTX_set_verify_cb(&ctx, s->internal->verify_callback);
executed 14 times by 1 test: X509_STORE_CTX_set_verify_cb(&ctx, s->internal->verify_callback);
Executed by:
  • ssltest
14
346-
347 if (s->ctx->internal->app_verify_callback !=
s->ctx->intern...!= ((void *)0)Description
TRUEevaluated 18 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 42 times by 1 test
Evaluated by:
  • ssltest
18-42
348 ((void *)0)
s->ctx->intern...!= ((void *)0)Description
TRUEevaluated 18 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 42 times by 1 test
Evaluated by:
  • ssltest
18-42
349 )-
350 ret = s->ctx->internal->app_verify_callback(&ctx,
executed 18 times by 2 tests: ret = s->ctx->internal->app_verify_callback(&ctx, s->ctx->internal->app_verify_arg);
Executed by:
  • ssltest
  • tlstest
18
351 s->ctx->internal->app_verify_arg);
executed 18 times by 2 tests: ret = s->ctx->internal->app_verify_callback(&ctx, s->ctx->internal->app_verify_arg);
Executed by:
  • ssltest
  • tlstest
18
352 else-
353 ret = X509_verify_cert(&ctx);
executed 42 times by 1 test: ret = X509_verify_cert(&ctx);
Executed by:
  • ssltest
42
354-
355 s->verify_result = ctx.error;-
356 X509_STORE_CTX_cleanup(&ctx);-
357-
358 return
executed 60 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
(ret);
executed 60 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
60
359}-
360-
361static void-
362set_client_CA_list(struct stack_st_X509_NAME **ca_list,-
363 struct stack_st_X509_NAME *name_list)-
364{-
365 sk_pop_free(((_STACK*) (1 ? (*ca_list) : (struct stack_st_X509_NAME*)0)), ((void (*)(void *)) ((1 ? (X509_NAME_free) : (void (*)(X509_NAME *))0))));-
366 *ca_list = name_list;-
367}
never executed: end of block
0
368-
369struct stack_st_X509_NAME *-
370SSL_dup_CA_list(const struct stack_st_X509_NAME *sk)-
371{-
372 int i;-
373 struct stack_st_X509_NAME *ret;-
374 X509_NAME *name;-
375-
376 ret = ((struct stack_st_X509_NAME *)sk_new_null());-
377 for (i = 0; i < sk_num(((_STACK*) (1 ? (sk) : (struct stack_st_X509_NAME*)0)))
i < sk_num(((_...509_NAME*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
378 name = X509_NAME_dup(((X509_NAME *)sk_value(((_STACK*) (1 ? (sk) : (struct stack_st_X509_NAME*)0)), (i))));-
379 if ((
(name == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
name ==
(name == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
380 ((void *)0)
(name == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
381 )
(name == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
|| !sk_push(((_STACK*) (1 ? (ret) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (name) : (X509_NAME*)0)))
!sk_push(((_ST...509_NAME*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
382 sk_pop_free(((_STACK*) (1 ? (ret) : (struct stack_st_X509_NAME*)0)), ((void (*)(void *)) ((1 ? (X509_NAME_free) : (void (*)(X509_NAME *))0))));-
383 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
384 ((void *)0)
never executed: return ( ((void *)0) );
0
385 );
never executed: return ( ((void *)0) );
0
386 }-
387 }
never executed: end of block
0
388 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
389}-
390-
391void-
392SSL_set_client_CA_list(SSL *s, struct stack_st_X509_NAME *name_list)-
393{-
394 set_client_CA_list(&(s->internal->client_CA), name_list);-
395}
never executed: end of block
0
396-
397void-
398SSL_CTX_set_client_CA_list(SSL_CTX *ctx, struct stack_st_X509_NAME *name_list)-
399{-
400 set_client_CA_list(&(ctx->internal->client_CA), name_list);-
401}
never executed: end of block
0
402-
403struct stack_st_X509_NAME *-
404SSL_CTX_get_client_CA_list(const SSL_CTX *ctx)-
405{-
406 return
never executed: return (ctx->internal->client_CA);
(ctx->internal->client_CA);
never executed: return (ctx->internal->client_CA);
0
407}-
408-
409struct stack_st_X509_NAME *-
410SSL_get_client_CA_list(const SSL *s)-
411{-
412 if (s->internal->type == 0x1000
s->internal->type == 0x1000Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
413-
414 if (((
((s->version >> 8) == 0x03)Description
TRUEnever evaluated
FALSEnever evaluated
s->version >> 8) == 0x03)
((s->version >> 8) == 0x03)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
415 (
(s->s3 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
s->s3 !=
(s->s3 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
416 ((void *)0)
(s->s3 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
417 )
(s->s3 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
418 return
never executed: return ((s->s3->internal)->tmp.ca_names);
((s->s3->internal)->tmp.ca_names);
never executed: return ((s->s3->internal)->tmp.ca_names);
0
419 else-
420 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
421 ((void *)0)
never executed: return ( ((void *)0) );
0
422 );
never executed: return ( ((void *)0) );
0
423 } else {-
424 if (s->internal->client_CA !=
s->internal->c...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
425 ((void *)0)
s->internal->c...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
426 )-
427 return
never executed: return (s->internal->client_CA);
(s->internal->client_CA);
never executed: return (s->internal->client_CA);
0
428 else-
429 return
executed 7 times by 1 test: return (s->ctx->internal->client_CA);
Executed by:
  • ssltest
(s->ctx->internal->client_CA);
executed 7 times by 1 test: return (s->ctx->internal->client_CA);
Executed by:
  • ssltest
7
430 }-
431}-
432-
433static int-
434add_client_CA(struct stack_st_X509_NAME **sk, X509 *x)-
435{-
436 X509_NAME *name;-
437-
438 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
439 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
440 )-
441 return
never executed: return (0);
(0);
never executed: return (0);
0
442 if ((*
(*sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
sk ==
(*sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
443 ((void *)0)
(*sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
444 )
(*sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((*
((*sk = ((stru... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
sk = ((struct stack_st_X509_NAME *)sk_new_null())) ==
((*sk = ((stru... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
445 ((void *)0)
((*sk = ((stru... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
446 )
((*sk = ((stru... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
447 return
never executed: return (0);
(0);
never executed: return (0);
0
448-
449 if ((
(name = X509_N...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
name = X509_NAME_dup(X509_get_subject_name(x))) ==
(name = X509_N...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
450 ((void *)0)
(name = X509_N...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
451 )-
452 return
never executed: return (0);
(0);
never executed: return (0);
0
453-
454 if (!sk_push(((_STACK*) (1 ? (*sk) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (name) : (X509_NAME*)0)))
!sk_push(((_ST...509_NAME*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
455 X509_NAME_free(name);-
456 return
never executed: return (0);
(0);
never executed: return (0);
0
457 }-
458 return
never executed: return (1);
(1);
never executed: return (1);
0
459}-
460-
461int-
462SSL_add_client_CA(SSL *ssl, X509 *x)-
463{-
464 return
never executed: return (add_client_CA(&(ssl->internal->client_CA), x));
(add_client_CA(&(ssl->internal->client_CA), x));
never executed: return (add_client_CA(&(ssl->internal->client_CA), x));
0
465}-
466-
467int-
468SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x)-
469{-
470 return
never executed: return (add_client_CA(&(ctx->internal->client_CA), x));
(add_client_CA(&(ctx->internal->client_CA), x));
never executed: return (add_client_CA(&(ctx->internal->client_CA), x));
0
471}-
472-
473static int-
474xname_cmp(const X509_NAME * const *a, const X509_NAME * const *b)-
475{-
476 return
never executed: return (X509_NAME_cmp(*a, *b));
(X509_NAME_cmp(*a, *b));
never executed: return (X509_NAME_cmp(*a, *b));
0
477}-
478struct stack_st_X509_NAME *-
479SSL_load_client_CA_file(const char *file)-
480{-
481 BIO *in;-
482 X509 *x = -
483 ((void *)0)-
484 ;-
485 X509_NAME *xn = -
486 ((void *)0)-
487 ;-
488 struct stack_st_X509_NAME *ret = -
489 ((void *)0)-
490 , *sk;-
491-
492 sk = ((struct stack_st_X509_NAME *)sk_new(((int (*)(const void *, const void *)) ((1 ? (xname_cmp) : (int (*)(const X509_NAME * const *, const X509_NAME * const *))0)))));-
493-
494 in = BIO_new(BIO_s_file());-
495-
496 if ((
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
sk ==
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
497 ((void *)0)
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
498 )
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
in ==
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
499 ((void *)0)
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
500 )
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
501 ERR_put_error(20,(0xfff),((1|64)),__FILE__,569);-
502 goto
never executed: goto err;
err;
never executed: goto err;
0
503 }-
504-
505 if (!BIO_ctrl(in,108, 0x01|0x02,(char *)file)
!BIO_ctrl(in,1...,(char *)file)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
506 goto
never executed: goto err;
err;
never executed: goto err;
0
507-
508 for (;;) {-
509 if (PEM_read_bio_X509(in, &x,
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
510 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
511 ,
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
512 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
513 ) ==
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
514 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
515 )-
516 break;
never executed: break;
0
517 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
518 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
519 ) {-
520 ret = ((struct stack_st_X509_NAME *)sk_new_null());-
521 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
522 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
523 ) {-
524 ERR_put_error(20,(0xfff),((1|64)),__FILE__,582);-
525 goto
never executed: goto err;
err;
never executed: goto err;
0
526 }-
527 }
never executed: end of block
0
528 if ((
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
xn = X509_get_subject_name(x)) ==
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
529 ((void *)0)
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
530 ) goto
never executed: goto err;
err;
never executed: goto err;
0
531-
532 xn = X509_NAME_dup(xn);-
533 if (xn ==
xn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
534 ((void *)0)
xn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
535 )-
536 goto
never executed: goto err;
err;
never executed: goto err;
0
537 if (sk_find(((_STACK*) (1 ? (sk) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (xn) : (X509_NAME*)0))) >= 0
sk_find(((_STA...AME*)0))) >= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
538 X509_NAME_free(xn);
never executed: X509_NAME_free(xn);
0
539 else {-
540 sk_push(((_STACK*) (1 ? (sk) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (xn) : (X509_NAME*)0)));-
541 sk_push(((_STACK*) (1 ? (ret) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (xn) : (X509_NAME*)0)));-
542 }
never executed: end of block
0
543 }-
544-
545 if (0) {-
546err:-
547 sk_pop_free(((_STACK*) (1 ? (ret) : (struct stack_st_X509_NAME*)0)), ((void (*)(void *)) ((1 ? (X509_NAME_free) : (void (*)(X509_NAME *))0))));-
548 ret = -
549 ((void *)0)-
550 ;-
551 }
never executed: end of block
0
552 sk_free(((_STACK*) (1 ? (sk) : (struct stack_st_X509_NAME*)0)));-
553 BIO_free(in);-
554 X509_free(x);-
555 if (ret !=
ret != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
556 ((void *)0)
ret != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
557 )-
558 ERR_clear_error();
never executed: ERR_clear_error();
0
559-
560 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
561}-
562int-
563SSL_add_file_cert_subjects_to_stack(struct stack_st_X509_NAME *stack,-
564 const char *file)-
565{-
566 BIO *in;-
567 X509 *x = -
568 ((void *)0)-
569 ;-
570 X509_NAME *xn = -
571 ((void *)0)-
572 ;-
573 int ret = 1;-
574 int (*oldcmp)(const X509_NAME * const *a, const X509_NAME * const *b);-
575-
576 oldcmp = ((int (*)(const X509_NAME * const *,const X509_NAME * const *)) sk_set_cmp_func(((_STACK*) (1 ? (stack) : (struct stack_st_X509_NAME*)0)), ((int (*)(const void *, const void *)) ((1 ? (xname_cmp) : (int (*)(const X509_NAME * const *, const X509_NAME * const *))0)))));-
577-
578 in = BIO_new(BIO_s_file());-
579-
580 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
581 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
582 ) {-
583 ERR_put_error(20,(0xfff),((1|64)),__FILE__,637);-
584 goto
never executed: goto err;
err;
never executed: goto err;
0
585 }-
586-
587 if (!BIO_ctrl(in,108, 0x01|0x02,(char *)file)
!BIO_ctrl(in,1...,(char *)file)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
588 goto
never executed: goto err;
err;
never executed: goto err;
0
589-
590 for (;;) {-
591 if (PEM_read_bio_X509(in, &x,
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
592 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
593 ,
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
594 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
595 ) ==
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
596 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
597 )-
598 break;
never executed: break;
0
599 if ((
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
xn = X509_get_subject_name(x)) ==
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
600 ((void *)0)
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
601 ) goto
never executed: goto err;
err;
never executed: goto err;
0
602 xn = X509_NAME_dup(xn);-
603 if (xn ==
xn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
604 ((void *)0)
xn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
605 )-
606 goto
never executed: goto err;
err;
never executed: goto err;
0
607 if (sk_find(((_STACK*) (1 ? (stack) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (xn) : (X509_NAME*)0))) >= 0
sk_find(((_STA...AME*)0))) >= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
608 X509_NAME_free(xn);
never executed: X509_NAME_free(xn);
0
609 else-
610 sk_push(((_STACK*) (1 ? (stack) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (xn) : (X509_NAME*)0)));
never executed: sk_push(((_STACK*) (1 ? (stack) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (xn) : (X509_NAME*)0)));
0
611 }-
612-
613 ERR_clear_error();-
614-
615 if (0) {-
616err:-
617 ret = 0;-
618 }
never executed: end of block
0
619 BIO_free(in);-
620 X509_free(x);-
621-
622 (void)((int (*)(const X509_NAME * const *,const X509_NAME * const *)) sk_set_cmp_func(((_STACK*) (1 ? (stack) : (struct stack_st_X509_NAME*)0)), ((int (*)(const void *, const void *)) ((1 ? (oldcmp) : (int (*)(const X509_NAME * const *, const X509_NAME * const *))0)))));-
623-
624 return
never executed: return ret;
ret;
never executed: return ret;
0
625}-
626int-
627SSL_add_dir_cert_subjects_to_stack(struct stack_st_X509_NAME *stack, const char *dir)-
628{-
629 DIR *dirp = -
630 ((void *)0)-
631 ;-
632 char *path = -
633 ((void *)0)-
634 ;-
635 int ret = 0;-
636-
637 dirp = opendir(dir);-
638 if (dirp
dirpDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
639 struct dirent *dp;-
640 while ((
(dp = readdir(...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
dp = readdir(dirp)) !=
(dp = readdir(...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
641 ((void *)0)
(dp = readdir(...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
642 ) {-
643 if (asprintf(&path, "%s/%s", dir, dp->d_name) != -1
asprintf(&path...>d_name) != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
644 ret = SSL_add_file_cert_subjects_to_stack(-
645 stack, path);-
646 free(path);-
647 }
never executed: end of block
0
648 if (!ret
!retDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
649 break;
never executed: break;
0
650 }
never executed: end of block
0
651 (void) closedir(dirp);-
652 }
never executed: end of block
0
653 if (!ret
!retDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
654 ERR_put_error(2,(0xfff),(-
655 (*__errno_location ())-
656 ),__FILE__,704);-
657 ERR_asprintf_error_data("opendir ('%s')", dir);-
658 ERR_put_error(20,(0xfff),(2),__FILE__,706);-
659 }
never executed: end of block
0
660 return
never executed: return ret;
ret;
never executed: return ret;
0
661}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2