OpenCoverage

ssl_cert.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/ssl/ssl_cert.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx,-
7 int op, int bits, int nid, void *other,-
8 void *ex);-
9-
10static CRYPTO_ONCE ssl_x509_store_ctx_once = -
11 0-
12 ;-
13static volatile int ssl_x509_store_ctx_idx = -1;-
14-
15static int ssl_x509_store_ctx_init(void); static int ssl_x509_store_ctx_init_ossl_ret_ = 0; static void ssl_x509_store_ctx_init_ossl_(void) { ssl_x509_store_ctx_init_ossl_ret_ = ssl_x509_store_ctx_init(); }
executed 539 times by 2 tests: end of block
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
static int ssl_x509_store_ctx_init(void)
539
16{-
17 ssl_x509_store_ctx_idx = CRYPTO_get_ex_new_index(5, 0, "SSL for verify callback", -
18 ((void *)0)-
19 , -
20 ((void *)0)-
21 , -
22 ((void *)0)-
23 )-
24-
25 ;-
26 return
executed 539 times by 2 tests: return ssl_x509_store_ctx_idx >= 0;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
ssl_x509_store_ctx_idx >= 0;
executed 539 times by 2 tests: return ssl_x509_store_ctx_idx >= 0;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
539
27}-
28-
29int SSL_get_ex_data_X509_STORE_CTX_idx(void)-
30{-
31-
32 if (!(CRYPTO_THREAD_run_once(&ssl_x509_store_ctx_once, ssl_x509_store_ctx_init_ossl_)
CRYPTO_THREAD_...tx_init_ossl_)Description
TRUEevaluated 10679 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
FALSEnever evaluated
? ssl_x509_store_ctx_init_ossl_ret_ : 0)
!(CRYPTO_THREA...ossl_ret_ : 0)Description
TRUEnever evaluated
FALSEevaluated 10679 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
)
0-10679
33 return
never executed: return -1;
-1;
never executed: return -1;
0
34 return
executed 10679 times by 2 tests: return ssl_x509_store_ctx_idx;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
ssl_x509_store_ctx_idx;
executed 10679 times by 2 tests: return ssl_x509_store_ctx_idx;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
10679
35}-
36-
37CERT *ssl_cert_new(void)-
38{-
39 CERT *ret = CRYPTO_zalloc(sizeof(*ret), __FILE__, 52);-
40-
41 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8017 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8017
42 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8017 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8017
43 ) {-
44 ERR_put_error(20,(162),((1|64)),__FILE__,55);-
45 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
46 ((void *)0)
never executed: return ((void *)0) ;
0
47 ;
never executed: return ((void *)0) ;
0
48 }-
49-
50 ret->key = &(ret->pkeys[0]);-
51 ret->references = 1;-
52 ret->sec_cb = ssl_security_default_callback;-
53 ret->sec_level = 1;-
54 ret->sec_ex = -
55 ((void *)0)-
56 ;-
57 ret->lock = CRYPTO_THREAD_lock_new();-
58 if (ret->lock ==
ret->lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8017 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8017
59 ((void *)0)
ret->lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8017 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8017
60 ) {-
61 ERR_put_error(20,(162),((1|64)),__FILE__,66);-
62 CRYPTO_free(ret, __FILE__, 67);-
63 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
64 ((void *)0)
never executed: return ((void *)0) ;
0
65 ;
never executed: return ((void *)0) ;
0
66 }-
67-
68 return
executed 8017 times by 2 tests: return ret;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
ret;
executed 8017 times by 2 tests: return ret;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8017
69}-
70-
71CERT *ssl_cert_dup(CERT *cert)-
72{-
73 CERT *ret = CRYPTO_zalloc(sizeof(*ret), __FILE__, 76);-
74 int i;-
75-
76 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8278
77 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8278
78 ) {-
79 ERR_put_error(20,(221),((1|64)),__FILE__,80);-
80 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
81 ((void *)0)
never executed: return ((void *)0) ;
0
82 ;
never executed: return ((void *)0) ;
0
83 }-
84-
85 ret->references = 1;-
86 ret->key = &ret->pkeys[cert->key - cert->pkeys];-
87 ret->lock = CRYPTO_THREAD_lock_new();-
88 if (ret->lock ==
ret->lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8278
89 ((void *)0)
ret->lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-8278
90 ) {-
91 ERR_put_error(20,(221),((1|64)),__FILE__,88);-
92 CRYPTO_free(ret, __FILE__, 89);-
93 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
94 ((void *)0)
never executed: return ((void *)0) ;
0
95 ;
never executed: return ((void *)0) ;
0
96 }-
97-
98 if (cert->dh_tmp !=
cert->dh_tmp != ((void *)0)Description
TRUEevaluated 116 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 8162 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
116-8162
99 ((void *)0)
cert->dh_tmp != ((void *)0)Description
TRUEevaluated 116 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 8162 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
116-8162
100 ) {-
101 ret->dh_tmp = cert->dh_tmp;-
102 EVP_PKEY_up_ref(ret->dh_tmp);-
103 }
executed 116 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
116
104 ret->dh_tmp_cb = cert->dh_tmp_cb;-
105 ret->dh_tmp_auto = cert->dh_tmp_auto;-
106-
107-
108 for (i = 0; i < 9
i < 9Description
TRUEevaluated 74502 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
; i++) {
8278-74502
109 CERT_PKEY *cpk = cert->pkeys + i;-
110 CERT_PKEY *rpk = ret->pkeys + i;-
111 if (cpk->x509 !=
cpk->x509 != ((void *)0)Description
TRUEevaluated 7858 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 66644 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
7858-66644
112 ((void *)0)
cpk->x509 != ((void *)0)Description
TRUEevaluated 7858 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 66644 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
7858-66644
113 ) {-
114 rpk->x509 = cpk->x509;-
115 X509_up_ref(rpk->x509);-
116 }
executed 7858 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
7858
117-
118 if (cpk->privatekey !=
cpk->privatekey != ((void *)0)Description
TRUEevaluated 7858 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 66644 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
7858-66644
119 ((void *)0)
cpk->privatekey != ((void *)0)Description
TRUEevaluated 7858 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 66644 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
7858-66644
120 ) {-
121 rpk->privatekey = cpk->privatekey;-
122 EVP_PKEY_up_ref(cpk->privatekey);-
123 }
executed 7858 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
7858
124-
125 if (cpk->chain
cpk->chainDescription
TRUEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 74466 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
) {
36-74466
126 rpk->chain = X509_chain_up_ref(cpk->chain);-
127 if (!rpk->chain
!rpk->chainDescription
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
0-36
128 ERR_put_error(20,(221),((1|64)),__FILE__,117);-
129 goto
never executed: goto err;
err;
never executed: goto err;
0
130 }-
131 }
executed 36 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
36
132 if (cert->pkeys[i].serverinfo !=
cert->pkeys[i]...!= ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 74495 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
7-74495
133 ((void *)0)
cert->pkeys[i]...!= ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 74495 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
7-74495
134 ) {-
135-
136 ret->pkeys[i].serverinfo =-
137 CRYPTO_malloc(cert->pkeys[i].serverinfo_length, __FILE__, 124);-
138 if (ret->pkeys[i].serverinfo ==
ret->pkeys[i]....== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-7
139 ((void *)0)
ret->pkeys[i]....== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-7
140 ) {-
141 ERR_put_error(20,(221),((1|64)),__FILE__,126);-
142 goto
never executed: goto err;
err;
never executed: goto err;
0
143 }-
144 ret->pkeys[i].serverinfo_length = cert->pkeys[i].serverinfo_length;-
145 memcpy(ret->pkeys[i].serverinfo,-
146 cert->pkeys[i].serverinfo, cert->pkeys[i].serverinfo_length);-
147 }
executed 7 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
7
148 }
executed 74502 times by 2 tests: end of block
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
74502
149-
150-
151 if (cert->conf_sigalgs
cert->conf_sigalgsDescription
TRUEevaluated 41 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 8237 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
) {
41-8237
152 ret->conf_sigalgs = CRYPTO_malloc(cert->conf_sigalgslen * sizeof(*cert->conf_sigalgs),-
153 __FILE__-
154 ,-
155 138-
156 )-
157 ;-
158 if (ret->conf_sigalgs ==
ret->conf_siga...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 41 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-41
159 ((void *)0)
ret->conf_siga...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 41 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-41
160 )-
161 goto
never executed: goto err;
err;
never executed: goto err;
0
162 memcpy(ret->conf_sigalgs, cert->conf_sigalgs,-
163 cert->conf_sigalgslen * sizeof(*cert->conf_sigalgs));-
164 ret->conf_sigalgslen = cert->conf_sigalgslen;-
165 }
executed 41 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
else
41
166 ret->conf_sigalgs =
executed 8237 times by 2 tests: ret->conf_sigalgs = ((void *)0) ;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8237
167 ((void *)0)
executed 8237 times by 2 tests: ret->conf_sigalgs = ((void *)0) ;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8237
168 ;
executed 8237 times by 2 tests: ret->conf_sigalgs = ((void *)0) ;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8237
169-
170 if (cert->client_sigalgs
cert->client_sigalgsDescription
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 8267 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
) {
11-8267
171 ret->client_sigalgs = CRYPTO_malloc(cert->client_sigalgslen * sizeof(*cert->client_sigalgs),-
172 __FILE__-
173 ,-
174 149-
175 )-
176 ;-
177 if (ret->client_sigalgs ==
ret->client_si...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-11
178 ((void *)0)
ret->client_si...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-11
179 )-
180 goto
never executed: goto err;
err;
never executed: goto err;
0
181 memcpy(ret->client_sigalgs, cert->client_sigalgs,-
182 cert->client_sigalgslen * sizeof(*cert->client_sigalgs));-
183 ret->client_sigalgslen = cert->client_sigalgslen;-
184 }
executed 11 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
else
11
185 ret->client_sigalgs =
executed 8267 times by 2 tests: ret->client_sigalgs = ((void *)0) ;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8267
186 ((void *)0)
executed 8267 times by 2 tests: ret->client_sigalgs = ((void *)0) ;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8267
187 ;
executed 8267 times by 2 tests: ret->client_sigalgs = ((void *)0) ;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8267
188-
189 ret->shared_sigalgs = -
190 ((void *)0)-
191 ;-
192-
193 if (cert->ctype
cert->ctypeDescription
TRUEnever evaluated
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
) {
0-8278
194 ret->ctype = CRYPTO_memdup((cert->ctype), cert->ctype_len, __FILE__, 161);-
195 if (ret->ctype ==
ret->ctype == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
196 ((void *)0)
ret->ctype == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
197 )-
198 goto
never executed: goto err;
err;
never executed: goto err;
0
199 ret->ctype_len = cert->ctype_len;-
200 }
never executed: end of block
0
201-
202 ret->cert_flags = cert->cert_flags;-
203-
204 ret->cert_cb = cert->cert_cb;-
205 ret->cert_cb_arg = cert->cert_cb_arg;-
206-
207 if (cert->verify_store
cert->verify_storeDescription
TRUEevaluated 1239 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 7039 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
) {
1239-7039
208 X509_STORE_up_ref(cert->verify_store);-
209 ret->verify_store = cert->verify_store;-
210 }
executed 1239 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
1239
211-
212 if (cert->chain_store
cert->chain_storeDescription
TRUEnever evaluated
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
) {
0-8278
213 X509_STORE_up_ref(cert->chain_store);-
214 ret->chain_store = cert->chain_store;-
215 }
never executed: end of block
0
216-
217 ret->sec_cb = cert->sec_cb;-
218 ret->sec_level = cert->sec_level;-
219 ret->sec_ex = cert->sec_ex;-
220-
221 if (!custom_exts_copy(&ret->custext, &cert->custext)
!custom_exts_c...cert->custext)Description
TRUEnever evaluated
FALSEevaluated 8278 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
)
0-8278
222 goto
never executed: goto err;
err;
never executed: goto err;
0
223-
224 if (cert->psk_identity_hint
cert->psk_identity_hintDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 8276 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
) {
2-8276
225 ret->psk_identity_hint = CRYPTO_strdup(cert->psk_identity_hint, __FILE__, 190);-
226 if (ret->psk_identity_hint ==
ret->psk_ident...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2
227 ((void *)0)
ret->psk_ident...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2
228 )-
229 goto
never executed: goto err;
err;
never executed: goto err;
0
230 }
executed 2 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
2
231-
232 return
executed 8278 times by 2 tests: return ret;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
ret;
executed 8278 times by 2 tests: return ret;
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
8278
233-
234 err:-
235 ssl_cert_free(ret);-
236-
237 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
238 ((void *)0)
never executed: return ((void *)0) ;
0
239 ;
never executed: return ((void *)0) ;
0
240}-
241-
242-
243-
244void ssl_cert_clear_certs(CERT *c)-
245{-
246 int i;-
247 if (c ==
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16295 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-16295
248 ((void *)0)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16295 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-16295
249 )-
250 return;
never executed: return;
0
251 for (i = 0; i < 9
i < 9Description
TRUEevaluated 146655 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
FALSEevaluated 16295 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
; i++) {
16295-146655
252 CERT_PKEY *cpk = c->pkeys + i;-
253 X509_free(cpk->x509);-
254 cpk->x509 = -
255 ((void *)0)-
256 ;-
257 EVP_PKEY_free(cpk->privatekey);-
258 cpk->privatekey = -
259 ((void *)0)-
260 ;-
261 sk_X509_pop_free(cpk->chain, X509_free);-
262 cpk->chain = -
263 ((void *)0)-
264 ;-
265 CRYPTO_free(cpk->serverinfo, __FILE__, 218);-
266 cpk->serverinfo = -
267 ((void *)0)-
268 ;-
269 cpk->serverinfo_length = 0;-
270 }
executed 146655 times by 2 tests: end of block
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
146655
271}
executed 16295 times by 2 tests: end of block
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
16295
272-
273void ssl_cert_free(CERT *c)-
274{-
275 int i;-
276-
277 if (c ==
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16295 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-16295
278 ((void *)0)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16295 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
0-16295
279 )-
280 return;
never executed: return;
0
281 CRYPTO_DOWN_REF(&c->references, &i, c->lock);-
282 ;-
283 if (i > 0
i > 0Description
TRUEnever evaluated
FALSEevaluated 16295 times by 2 tests
Evaluated by:
  • libssl.so.1.1
  • tls13encryptiontest
)
0-16295
284 return;
never executed: return;
0
285 ;-
286-
287-
288 EVP_PKEY_free(c->dh_tmp);-
289-
290-
291 ssl_cert_clear_certs(c);-
292 CRYPTO_free(c->conf_sigalgs, __FILE__, 241);-
293 CRYPTO_free(c->client_sigalgs, __FILE__, 242);-
294 CRYPTO_free(c->shared_sigalgs, __FILE__, 243);-
295 CRYPTO_free(c->ctype, __FILE__, 244);-
296 X509_STORE_free(c->verify_store);-
297 X509_STORE_free(c->chain_store);-
298 custom_exts_free(&c->custext);-
299-
300 CRYPTO_free(c->psk_identity_hint, __FILE__, 249);-
301-
302 CRYPTO_THREAD_lock_free(c->lock);-
303 CRYPTO_free(c, __FILE__, 252);-
304}
executed 16295 times by 2 tests: end of block
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
16295
305-
306int ssl_cert_set0_chain(SSL *s, SSL_CTX *ctx, struct stack_st_X509 *chain)-
307{-
308 int i, r;-
309 CERT_PKEY *cpk = s
sDescription
TRUEnever evaluated
FALSEevaluated 2111 times by 1 test
Evaluated by:
  • libssl.so.1.1
? s->cert->key : ctx->cert->key;
0-2111
310 if (!cpk
!cpkDescription
TRUEnever evaluated
FALSEevaluated 2111 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-2111
311 return
never executed: return 0;
0;
never executed: return 0;
0
312 for (i = 0; i < sk_X509_num(chain)
i < sk_X509_num(chain)Description
TRUEnever evaluated
FALSEevaluated 2111 times by 1 test
Evaluated by:
  • libssl.so.1.1
; i++) {
0-2111
313 r = ssl_security_cert(s, ctx, sk_X509_value(chain, i), 0, 0);-
314 if (r != 1
r != 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
315 ERR_put_error(20,(340),(r),__FILE__,264);-
316 return
never executed: return 0;
0;
never executed: return 0;
0
317 }-
318 }
never executed: end of block
0
319 sk_X509_pop_free(cpk->chain, X509_free);-
320 cpk->chain = chain;-
321 return
executed 2111 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
1;
executed 2111 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
2111
322}-
323-
324int ssl_cert_set1_chain(SSL *s, SSL_CTX *ctx, struct stack_st_X509 *chain)-
325{-
326 struct stack_st_X509 *dchain;-
327 if (!chain
!chainDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
328 return
never executed: return ssl_cert_set0_chain(s, ctx, ((void *)0) );
ssl_cert_set0_chain(s, ctx,
never executed: return ssl_cert_set0_chain(s, ctx, ((void *)0) );
0
329 ((void *)0)
never executed: return ssl_cert_set0_chain(s, ctx, ((void *)0) );
0
330 );
never executed: return ssl_cert_set0_chain(s, ctx, ((void *)0) );
0
331 dchain = X509_chain_up_ref(chain);-
332 if (!dchain
!dchainDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
333 return
never executed: return 0;
0;
never executed: return 0;
0
334 if (!ssl_cert_set0_chain(s, ctx, dchain)
!ssl_cert_set0..., ctx, dchain)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
335 sk_X509_pop_free(dchain, X509_free);-
336 return
never executed: return 0;
0;
never executed: return 0;
0
337 }-
338 return
never executed: return 1;
1;
never executed: return 1;
0
339}-
340-
341int ssl_cert_add0_chain_cert(SSL *s, SSL_CTX *ctx, X509 *x)-
342{-
343 int r;-
344 CERT_PKEY *cpk = s
sDescription
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
? s->cert->key : ctx->cert->key;
0-36
345 if (!cpk
!cpkDescription
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-36
346 return
never executed: return 0;
0;
never executed: return 0;
0
347 r = ssl_security_cert(s, ctx, x, 0, 0);-
348 if (r != 1
r != 1Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
0-36
349 ERR_put_error(20,(346),(r),__FILE__,296);-
350 return
never executed: return 0;
0;
never executed: return 0;
0
351 }-
352 if (!cpk->chain
!cpk->chainDescription
TRUEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
)
0-36
353 cpk->chain = sk_X509_new_null();
executed 36 times by 1 test: cpk->chain = sk_X509_new_null();
Executed by:
  • libssl.so.1.1
36
354 if (!cpk->chain
!cpk->chainDescription
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
|| !sk_X509_push(cpk->chain, x)
!sk_X509_push(cpk->chain, x)Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-36
355 return
never executed: return 0;
0;
never executed: return 0;
0
356 return
executed 36 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
1;
executed 36 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
36
357}-
358-
359int ssl_cert_add1_chain_cert(SSL *s, SSL_CTX *ctx, X509 *x)-
360{-
361 if (!ssl_cert_add0_chain_cert(s, ctx, x)
!ssl_cert_add0...ert(s, ctx, x)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
362 return
never executed: return 0;
0;
never executed: return 0;
0
363 X509_up_ref(x);-
364 return
never executed: return 1;
1;
never executed: return 1;
0
365}-
366-
367int ssl_cert_select_current(CERT *c, X509 *x)-
368{-
369 int i;-
370 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
371 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
372 )-
373 return
never executed: return 0;
0;
never executed: return 0;
0
374 for (i = 0; i < 9
i < 9Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
375 CERT_PKEY *cpk = c->pkeys + i;-
376 if (cpk->x509 == x
cpk->x509 == xDescription
TRUEnever evaluated
FALSEnever evaluated
&& cpk->privatekey
cpk->privatekeyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
377 c->key = cpk;-
378 return
never executed: return 1;
1;
never executed: return 1;
0
379 }-
380 }
never executed: end of block
0
381-
382 for (i = 0; i < 9
i < 9Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
383 CERT_PKEY *cpk = c->pkeys + i;-
384 if (cpk->privatekey
cpk->privatekeyDescription
TRUEnever evaluated
FALSEnever evaluated
&& cpk->x509
cpk->x509Description
TRUEnever evaluated
FALSEnever evaluated
&& !X509_cmp(cpk->x509, x)
!X509_cmp(cpk->x509, x)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
385 c->key = cpk;-
386 return
never executed: return 1;
1;
never executed: return 1;
0
387 }-
388 }
never executed: end of block
0
389 return
never executed: return 0;
0;
never executed: return 0;
0
390}-
391-
392int ssl_cert_set_current(CERT *c, long op)-
393{-
394 int i, idx;-
395 if (!c
!cDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
396 return
never executed: return 0;
0;
never executed: return 0;
0
397 if (op == 1
op == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
398 idx = 0;
never executed: idx = 0;
0
399 else if (op == 2
op == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
400 idx = (int)(c->key - c->pkeys + 1);-
401 if (idx >= 9
idx >= 9Description
TRUEnever evaluated
FALSEnever evaluated
)
0
402 return
never executed: return 0;
0;
never executed: return 0;
0
403 }
never executed: end of block
else
0
404 return
never executed: return 0;
0;
never executed: return 0;
0
405 for (i = idx; i < 9
i < 9Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
406 CERT_PKEY *cpk = c->pkeys + i;-
407 if (cpk->x509
cpk->x509Description
TRUEnever evaluated
FALSEnever evaluated
&& cpk->privatekey
cpk->privatekeyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
408 c->key = cpk;-
409 return
never executed: return 1;
1;
never executed: return 1;
0
410 }-
411 }
never executed: end of block
0
412 return
never executed: return 0;
0;
never executed: return 0;
0
413}-
414-
415void ssl_cert_set_cert_cb(CERT *c, int (*cb) (SSL *ssl, void *arg), void *arg)-
416{-
417 c->cert_cb = cb;-
418 c->cert_cb_arg = arg;-
419}
executed 3 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
3
420-
421int ssl_verify_cert_chain(SSL *s, struct stack_st_X509 *sk)-
422{-
423 X509 *x;-
424 int i = 0;-
425 X509_STORE *verify_store;-
426 X509_STORE_CTX *ctx = -
427 ((void *)0)-
428 ;-
429 X509_VERIFY_PARAM *param;-
430-
431 if ((
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
sk ==
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2611
432 ((void *)0)
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2611
433 )
(sk == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
|| (
(sk_X509_num(sk) == 0)Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
sk_X509_num(sk) == 0)
(sk_X509_num(sk) == 0)Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-2611
434 return
never executed: return 0;
0;
never executed: return 0;
0
435-
436 if (s->cert->verify_store
s->cert->verify_storeDescription
TRUEevaluated 963 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 1648 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
963-1648
437 verify_store = s->cert->verify_store;
executed 963 times by 1 test: verify_store = s->cert->verify_store;
Executed by:
  • libssl.so.1.1
963
438 else-
439 verify_store = s->ctx->cert_store;
executed 1648 times by 1 test: verify_store = s->ctx->cert_store;
Executed by:
  • libssl.so.1.1
1648
440-
441 ctx = X509_STORE_CTX_new();-
442 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2611
443 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2611
444 ) {-
445 ERR_put_error(20,(207),((1|64)),__FILE__,384);-
446 return
never executed: return 0;
0;
never executed: return 0;
0
447 }-
448-
449 x = sk_X509_value(sk, 0);-
450 if (!X509_STORE_CTX_init(ctx, verify_store, x, sk)
!X509_STORE_CT..._store, x, sk)Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
0-2611
451 ERR_put_error(20,(207),(11),__FILE__,390);-
452 goto
never executed: goto end;
end;
never executed: goto end;
0
453 }-
454 param = X509_STORE_CTX_get0_param(ctx);-
455-
456-
457-
458-
459-
460 X509_VERIFY_PARAM_set_auth_level(param, SSL_get_security_level(s));-
461-
462-
463 X509_STORE_CTX_set_flags(ctx, (s->cert->cert_flags & 0x30000));-
464 if (!X509_STORE_CTX_set_ex_data
!X509_STORE_CT..._CTX_idx(), s)Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2611
465 (ctx, SSL_get_ex_data_X509_STORE_CTX_idx(), s)
!X509_STORE_CT..._CTX_idx(), s)Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
0-2611
466 goto
never executed: goto end;
end;
never executed: goto end;
0
467 }-
468-
469-
470 if (((
(&s->dane) != ((void *)0)Description
TRUEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
&s->dane) !=
(&s->dane) != ((void *)0)Description
TRUEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
0-2611
471 ((void *)0)
(&s->dane) != ((void *)0)Description
TRUEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
0-2611
472 && sk_danetls_record_num((&s->dane)->trecs) > 0
sk_danetls_rec...e)->trecs) > 0Description
TRUEnever evaluated
FALSEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
))
0-2611
473 X509_STORE_CTX_set0_dane(ctx, &s->dane);
never executed: X509_STORE_CTX_set0_dane(ctx, &s->dane);
0
474-
475-
476-
477-
478-
479-
480-
481 X509_STORE_CTX_set_default(ctx, s->server ? "ssl_client" : "ssl_server");-
482-
483-
484-
485 X509_VERIFY_PARAM_set1(param, s->param);-
486-
487 if (s->verify_callback
s->verify_callbackDescription
TRUEevaluated 127 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 2484 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
127-2484
488 X509_STORE_CTX_set_verify_cb(ctx, s->verify_callback);
executed 127 times by 1 test: X509_STORE_CTX_set_verify_cb(ctx, s->verify_callback);
Executed by:
  • libssl.so.1.1
127
489-
490 if (s->ctx->app_verify_callback !=
s->ctx->app_ve...!= ((void *)0)Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 2599 times by 1 test
Evaluated by:
  • libssl.so.1.1
12-2599
491 ((void *)0)
s->ctx->app_ve...!= ((void *)0)Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 2599 times by 1 test
Evaluated by:
  • libssl.so.1.1
12-2599
492 )-
493 i = s->ctx->app_verify_callback(ctx, s->ctx->app_verify_arg);
executed 12 times by 1 test: i = s->ctx->app_verify_callback(ctx, s->ctx->app_verify_arg);
Executed by:
  • libssl.so.1.1
12
494 else-
495 i = X509_verify_cert(ctx);
executed 2599 times by 1 test: i = X509_verify_cert(ctx);
Executed by:
  • libssl.so.1.1
2599
496-
497 s->verify_result = X509_STORE_CTX_get_error(ctx);-
498 sk_X509_pop_free(s->verified_chain, X509_free);-
499 s->verified_chain = -
500 ((void *)0)-
501 ;-
502 if (X509_STORE_CTX_get0_chain(ctx) !=
X509_STORE_CTX...!= ((void *)0)Description
TRUEevaluated 2603 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libssl.so.1.1
8-2603
503 ((void *)0)
X509_STORE_CTX...!= ((void *)0)Description
TRUEevaluated 2603 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libssl.so.1.1
8-2603
504 ) {-
505 s->verified_chain = X509_STORE_CTX_get1_chain(ctx);-
506 if (s->verified_chain ==
s->verified_ch...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2603 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2603
507 ((void *)0)
s->verified_ch...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2603 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-2603
508 ) {-
509 ERR_put_error(20,(207),((1|64)),__FILE__,438);-
510 i = 0;-
511 }
never executed: end of block
0
512 }
executed 2603 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
2603
513-
514-
515 X509_VERIFY_PARAM_move_peername(s->param, param);-
516-
517 end:
code before this statement executed 2611 times by 1 test: end:
Executed by:
  • libssl.so.1.1
2611
518 X509_STORE_CTX_free(ctx);-
519 return
executed 2611 times by 1 test: return i;
Executed by:
  • libssl.so.1.1
i;
executed 2611 times by 1 test: return i;
Executed by:
  • libssl.so.1.1
2611
520}-
521-
522static void set0_CA_list(struct stack_st_X509_NAME **ca_list,-
523 struct stack_st_X509_NAME *name_list)-
524{-
525 sk_X509_NAME_pop_free(*ca_list, X509_NAME_free);-
526 *ca_list = name_list;-
527}
executed 15 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
15
528-
529struct stack_st_X509_NAME *SSL_dup_CA_list(const struct stack_st_X509_NAME *sk)-
530{-
531 int i;-
532 const int num = sk_X509_NAME_num(sk);-
533 struct stack_st_X509_NAME *ret;-
534 X509_NAME *name;-
535-
536 ret = sk_X509_NAME_new_reserve(-
537 ((void *)0)-
538 , num);-
539 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-36
540 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-36
541 ) {-
542 ERR_put_error(20,(408),((1|64)),__FILE__,467);-
543 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
544 ((void *)0)
never executed: return ((void *)0) ;
0
545 ;
never executed: return ((void *)0) ;
0
546 }-
547 for (i = 0; i < num
i < numDescription
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 36 times by 1 test
Evaluated by:
  • libssl.so.1.1
; i++) {
10-36
548 name = X509_NAME_dup(sk_X509_NAME_value(sk, i));-
549 if (name ==
name == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
550 ((void *)0)
name == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
551 ) {-
552 ERR_put_error(20,(408),((1|64)),__FILE__,473);-
553 sk_X509_NAME_pop_free(ret, X509_NAME_free);-
554 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
555 ((void *)0)
never executed: return ((void *)0) ;
0
556 ;
never executed: return ((void *)0) ;
0
557 }-
558 sk_X509_NAME_push(ret, name);-
559 }
executed 10 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
10
560 return
executed 36 times by 1 test: return ret;
Executed by:
  • libssl.so.1.1
ret;
executed 36 times by 1 test: return ret;
Executed by:
  • libssl.so.1.1
36
561}-
562-
563void SSL_set0_CA_list(SSL *s, struct stack_st_X509_NAME *name_list)-
564{-
565 set0_CA_list(&s->ca_names, name_list);-
566}
never executed: end of block
0
567-
568void SSL_CTX_set0_CA_list(SSL_CTX *ctx, struct stack_st_X509_NAME *name_list)-
569{-
570 set0_CA_list(&ctx->ca_names, name_list);-
571}
executed 15 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
15
572-
573const struct stack_st_X509_NAME *SSL_CTX_get0_CA_list(const SSL_CTX *ctx)-
574{-
575 return
never executed: return ctx->ca_names;
ctx->ca_names;
never executed: return ctx->ca_names;
0
576}-
577-
578const struct stack_st_X509_NAME *SSL_get0_CA_list(const SSL *s)-
579{-
580 return
executed 4000 times by 1 test: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
Executed by:
  • libssl.so.1.1
s->ca_names !=
s->ca_names != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4000 times by 1 test
Evaluated by:
  • libssl.so.1.1
executed 4000 times by 1 test: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
Executed by:
  • libssl.so.1.1
0-4000
581 ((void *)0)
s->ca_names != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4000 times by 1 test
Evaluated by:
  • libssl.so.1.1
executed 4000 times by 1 test: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
Executed by:
  • libssl.so.1.1
0-4000
582 ? s->ca_names : s->ctx->ca_names;
executed 4000 times by 1 test: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
Executed by:
  • libssl.so.1.1
4000
583}-
584-
585void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, struct stack_st_X509_NAME *name_list)-
586{-
587 SSL_CTX_set0_CA_list(ctx, name_list);-
588}
never executed: end of block
0
589-
590struct stack_st_X509_NAME *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx)-
591{-
592 return
never executed: return ctx->ca_names;
ctx->ca_names;
never executed: return ctx->ca_names;
0
593}-
594-
595void SSL_set_client_CA_list(SSL *s, struct stack_st_X509_NAME *name_list)-
596{-
597 SSL_set0_CA_list(s, name_list);-
598}
never executed: end of block
0
599-
600const struct stack_st_X509_NAME *SSL_get0_peer_CA_list(const SSL *s)-
601{-
602 return
executed 2611 times by 1 test: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
Executed by:
  • libssl.so.1.1
s->s3 !=
s->s3 != ((void *)0)Description
TRUEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
executed 2611 times by 1 test: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
Executed by:
  • libssl.so.1.1
0-2611
603 ((void *)0)
s->s3 != ((void *)0)Description
TRUEevaluated 2611 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
executed 2611 times by 1 test: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
Executed by:
  • libssl.so.1.1
0-2611
604 ? s->s3->tmp.peer_ca_names :
executed 2611 times by 1 test: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
Executed by:
  • libssl.so.1.1
2611
605 ((void *)0)
executed 2611 times by 1 test: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
Executed by:
  • libssl.so.1.1
2611
606 ;
executed 2611 times by 1 test: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
Executed by:
  • libssl.so.1.1
2611
607}-
608-
609struct stack_st_X509_NAME *SSL_get_client_CA_list(const SSL *s)-
610{-
611 if (!s->server
!s->serverDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
612 return
never executed: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
s->s3 !=
s->s3 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
0
613 ((void *)0)
s->s3 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
0
614 ? s->s3->tmp.peer_ca_names :
never executed: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
0
615 ((void *)0)
never executed: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
0
616 ;
never executed: return s->s3 != ((void *)0) ? s->s3->tmp.peer_ca_names : ((void *)0) ;
0
617 return
never executed: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
s->ca_names !=
s->ca_names != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
0
618 ((void *)0)
s->ca_names != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
0
619 ? s->ca_names : s->ctx->ca_names;
never executed: return s->ca_names != ((void *)0) ? s->ca_names : s->ctx->ca_names;
0
620}-
621-
622static int add_ca_name(struct stack_st_X509_NAME **sk, const X509 *x)-
623{-
624 X509_NAME *name;-
625-
626 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
627 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
628 )-
629 return
never executed: return 0;
0;
never executed: return 0;
0
630 if (*
*sk == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
sk ==
*sk == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
631 ((void *)0)
*sk == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
632 && ((*
((*sk = sk_X50... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
sk = sk_X509_NAME_new_null()) ==
((*sk = sk_X50... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
633 ((void *)0)
((*sk = sk_X50... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
634 )
((*sk = sk_X50... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
635 return
never executed: return 0;
0;
never executed: return 0;
0
636-
637 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
638 ((void *)0)
(name = X509_N...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
639 )-
640 return
never executed: return 0;
0;
never executed: return 0;
0
641-
642 if (!sk_X509_NAME_push(*sk, name)
!sk_X509_NAME_push(*sk, name)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
643 X509_NAME_free(name);-
644 return
never executed: return 0;
0;
never executed: return 0;
0
645 }-
646 return
never executed: return 1;
1;
never executed: return 1;
0
647}-
648-
649int SSL_add1_to_CA_list(SSL *ssl, const X509 *x)-
650{-
651 return
never executed: return add_ca_name(&ssl->ca_names, x);
add_ca_name(&ssl->ca_names, x);
never executed: return add_ca_name(&ssl->ca_names, x);
0
652}-
653-
654int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x)-
655{-
656 return
never executed: return add_ca_name(&ctx->ca_names, x);
add_ca_name(&ctx->ca_names, x);
never executed: return add_ca_name(&ctx->ca_names, x);
0
657}-
658-
659-
660-
661-
662-
663int SSL_add_client_CA(SSL *ssl, X509 *x)-
664{-
665 return
never executed: return add_ca_name(&ssl->ca_names, x);
add_ca_name(&ssl->ca_names, x);
never executed: return add_ca_name(&ssl->ca_names, x);
0
666}-
667-
668int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x)-
669{-
670 return
never executed: return add_ca_name(&ctx->ca_names, x);
add_ca_name(&ctx->ca_names, x);
never executed: return add_ca_name(&ctx->ca_names, x);
0
671}-
672-
673static int xname_cmp(const X509_NAME *a, const X509_NAME *b)-
674{-
675 unsigned char *abuf = -
676 ((void *)0)-
677 , *bbuf = -
678 ((void *)0)-
679 ;-
680 int alen, blen, ret;-
681-
682-
683-
684-
685 alen = i2d_X509_NAME((X509_NAME *)a, &abuf);-
686 blen = i2d_X509_NAME((X509_NAME *)b, &bbuf);-
687-
688 if (alen < 0
alen < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| blen < 0
blen < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
689 ret = -2;
never executed: ret = -2;
0
690 else if (alen != blen
alen != blenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
691 ret = alen - blen;
never executed: ret = alen - blen;
0
692 else-
693 ret = memcmp(abuf, bbuf, alen);
never executed: ret = memcmp(abuf, bbuf, alen);
0
694-
695 CRYPTO_free(abuf, __FILE__, 590);-
696 CRYPTO_free(bbuf, __FILE__, 591);-
697-
698 return
never executed: return ret;
ret;
never executed: return ret;
0
699}-
700-
701static int xname_sk_cmp(const X509_NAME *const *a, const X509_NAME *const *b)-
702{-
703 return
never executed: return xname_cmp(*a, *b);
xname_cmp(*a, *b);
never executed: return xname_cmp(*a, *b);
0
704}-
705-
706static unsigned long xname_hash(const X509_NAME *a)-
707{-
708 return
executed 20 times by 1 test: return X509_NAME_hash((X509_NAME *)a);
Executed by:
  • libssl.so.1.1
X509_NAME_hash((X509_NAME *)a);
executed 20 times by 1 test: return X509_NAME_hash((X509_NAME *)a);
Executed by:
  • libssl.so.1.1
20
709}-
710struct stack_st_X509_NAME *SSL_load_client_CA_file(const char *file)-
711{-
712 BIO *in = BIO_new(BIO_s_file());-
713 X509 *x = -
714 ((void *)0)-
715 ;-
716 X509_NAME *xn = -
717 ((void *)0)-
718 ;-
719 struct stack_st_X509_NAME *ret = -
720 ((void *)0)-
721 ;-
722 struct lhash_st_X509_NAME *name_hash = lh_X509_NAME_new(xname_hash, xname_cmp);-
723-
724 if ((
(name_hash == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
name_hash ==
(name_hash == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
725 ((void *)0)
(name_hash == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
726 )
(name_hash == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
|| (
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
in ==
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
727 ((void *)0)
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
728 )
(in == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
0-10
729 ERR_put_error(20,(185),((1|64)),__FILE__,623);-
730 goto
never executed: goto err;
err;
never executed: goto err;
0
731 }-
732-
733 if (!(int)BIO_ctrl(in,108, 0x01|0x02,(char *)(file))
!(int)BIO_ctrl...char *)(file))Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-10
734 goto
never executed: goto err;
err;
never executed: goto err;
0
735-
736 for (;;) {-
737 if (PEM_read_bio_X509(in, &x,
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
10
738 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
10
739 ,
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
10
740 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
10
741 ) ==
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
10
742 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
10
743 )-
744 break;
executed 10 times by 1 test: break;
Executed by:
  • libssl.so.1.1
10
745 if (ret ==
ret == ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
0-10
746 ((void *)0)
ret == ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
0-10
747 ) {-
748 ret = sk_X509_NAME_new_null();-
749 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
750 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
751 ) {-
752 ERR_put_error(20,(185),((1|64)),__FILE__,636);-
753 goto
never executed: goto err;
err;
never executed: goto err;
0
754 }-
755 }
executed 10 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
10
756 if ((
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
xn = X509_get_subject_name(x)) ==
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
757 ((void *)0)
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
758 )-
759 goto
never executed: goto err;
err;
never executed: goto err;
0
760-
761 xn = X509_NAME_dup(xn);-
762 if (xn ==
xn == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
763 ((void *)0)
xn == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
764 )-
765 goto
never executed: goto err;
err;
never executed: goto err;
0
766 if (lh_X509_NAME_retrieve(name_hash, xn) !=
lh_X509_NAME_r...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
767 ((void *)0)
lh_X509_NAME_r...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-10
768 ) {-
769-
770 X509_NAME_free(xn);-
771 xn = -
772 ((void *)0)-
773 ;-
774 }
never executed: end of block
else {
0
775 lh_X509_NAME_insert(name_hash, xn);-
776 if (!sk_X509_NAME_push(ret, xn)
!sk_X509_NAME_push(ret, xn)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-10
777 goto
never executed: goto err;
err;
never executed: goto err;
0
778 }
executed 10 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
10
779 }-
780 goto
executed 10 times by 1 test: goto done;
Executed by:
  • libssl.so.1.1
done;
executed 10 times by 1 test: goto done;
Executed by:
  • libssl.so.1.1
10
781-
782 err:-
783 X509_NAME_free(xn);-
784 sk_X509_NAME_pop_free(ret, X509_NAME_free);-
785 ret = -
786 ((void *)0)-
787 ;-
788 done:
code before this statement never executed: done:
0
789 BIO_free(in);-
790 X509_free(x);-
791 lh_X509_NAME_free(name_hash);-
792 if (ret !=
ret != ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
0-10
793 ((void *)0)
ret != ((void *)0)Description
TRUEevaluated 10 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
0-10
794 )-
795 ERR_clear_error();
executed 10 times by 1 test: ERR_clear_error();
Executed by:
  • libssl.so.1.1
10
796 return
executed 10 times by 1 test: return ret;
Executed by:
  • libssl.so.1.1
ret;
executed 10 times by 1 test: return ret;
Executed by:
  • libssl.so.1.1
10
797}-
798int SSL_add_file_cert_subjects_to_stack(struct stack_st_X509_NAME *stack,-
799 const char *file)-
800{-
801 BIO *in;-
802 X509 *x = -
803 ((void *)0)-
804 ;-
805 X509_NAME *xn = -
806 ((void *)0)-
807 ;-
808 int ret = 1;-
809 int (*oldcmp) (const X509_NAME *const *a, const X509_NAME *const *b);-
810-
811 oldcmp = sk_X509_NAME_set_cmp_func(stack, xname_sk_cmp);-
812-
813 in = BIO_new(BIO_s_file());-
814-
815 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-15
816 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-15
817 ) {-
818 ERR_put_error(20,(216),((1|64)),__FILE__,694);-
819 goto
never executed: goto err;
err;
never executed: goto err;
0
820 }-
821-
822 if (!(int)BIO_ctrl(in,108, 0x01|0x02,(char *)(file))
!(int)BIO_ctrl...char *)(file))Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-15
823 goto
never executed: goto err;
err;
never executed: goto err;
0
824-
825 for (;;) {-
826 if (PEM_read_bio_X509(in, &x,
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
15
827 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
15
828 ,
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
15
829 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
15
830 ) ==
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
15
831 ((void *)0)
PEM_read_bio_X...== ((void *)0)Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
15
832 )-
833 break;
executed 15 times by 1 test: break;
Executed by:
  • libssl.so.1.1
15
834 if ((
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
xn = X509_get_subject_name(x)) ==
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-15
835 ((void *)0)
(xn = X509_get...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-15
836 )-
837 goto
never executed: goto err;
err;
never executed: goto err;
0
838 xn = X509_NAME_dup(xn);-
839 if (xn ==
xn == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-15
840 ((void *)0)
xn == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
0-15
841 )-
842 goto
never executed: goto err;
err;
never executed: goto err;
0
843 if (sk_X509_NAME_find(stack, xn) >= 0
sk_X509_NAME_f...tack, xn) >= 0Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
0-15
844-
845 X509_NAME_free(xn);-
846 }
never executed: end of block
else if (!sk_X509_NAME_push(stack, xn)
!sk_X509_NAME_push(stack, xn)Description
TRUEnever evaluated
FALSEevaluated 15 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
0-15
847 X509_NAME_free(xn);-
848 goto
never executed: goto err;
err;
never executed: goto err;
0
849 }-
850 }
executed 15 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
15
851-
852 ERR_clear_error();-
853 goto
executed 15 times by 1 test: goto done;
Executed by:
  • libssl.so.1.1
done;
executed 15 times by 1 test: goto done;
Executed by:
  • libssl.so.1.1
15
854-
855 err:-
856 ret = 0;-
857 done:
code before this statement never executed: done:
0
858 BIO_free(in);-
859 X509_free(x);-
860 (void)sk_X509_NAME_set_cmp_func(stack, oldcmp);-
861 return
executed 15 times by 1 test: return ret;
Executed by:
  • libssl.so.1.1
ret;
executed 15 times by 1 test: return ret;
Executed by:
  • libssl.so.1.1
15
862}-
863int SSL_add_dir_cert_subjects_to_stack(struct stack_st_X509_NAME *stack,-
864 const char *dir)-
865{-
866 OPENSSL_DIR_CTX *d = -
867 ((void *)0)-
868 ;-
869 const char *filename;-
870 int ret = 0;-
871-
872-
873-
874 while ((
(filename = OP...read(&d, dir))Description
TRUEnever evaluated
FALSEnever evaluated
filename = OPENSSL_DIR_read(&d, dir))
(filename = OP...read(&d, dir))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
875 char buf[1024];-
876 int r;-
877-
878 if (strlen(dir) + strlen(filename) + 2 > sizeof(buf)
strlen(dir) + ... > sizeof(buf)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
879 ERR_put_error(20,(215),(270),__FILE__,756)-
880 ;-
881 goto
never executed: goto err;
err;
never executed: goto err;
0
882 }-
883-
884-
885-
886 r = BIO_snprintf(buf, sizeof(buf), "%s/%s", dir, filename);-
887-
888 if (r <= 0
r <= 0Description
TRUEnever evaluated
FALSEnever evaluated
|| r >= (int)sizeof(buf)
r >= (int)sizeof(buf)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
889 goto
never executed: goto err;
err;
never executed: goto err;
0
890 if (!SSL_add_file_cert_subjects_to_stack(stack, buf)
!SSL_add_file_...ck(stack, buf)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
891 goto
never executed: goto err;
err;
never executed: goto err;
0
892 }
never executed: end of block
0
893-
894 if (-
895 (*
(*__errno_location ())Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ())Description
TRUEnever evaluated
FALSEnever evaluated
0
896 ) {-
897 ERR_put_error(2,(10),(-
898 (*__errno_location ())-
899 ),__FILE__,771);-
900 ERR_add_error_data(3, "OPENSSL_DIR_read(&ctx, '", dir, "')");-
901 ERR_put_error(20,(215),(2),__FILE__,773);-
902 goto
never executed: goto err;
err;
never executed: goto err;
0
903 }-
904-
905 ret = 1;-
906-
907 err:
code before this statement never executed: err:
0
908 if (d
dDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
909 OPENSSL_DIR_end(&d);
never executed: OPENSSL_DIR_end(&d);
0
910-
911 return
never executed: return ret;
ret;
never executed: return ret;
0
912}-
913-
914-
915int ssl_build_cert_chain(SSL *s, SSL_CTX *ctx, int flags)-
916{-
917 CERT *c = s
sDescription
TRUEnever evaluated
FALSEnever evaluated
? s->cert : ctx->cert;
0
918 CERT_PKEY *cpk = c->key;-
919 X509_STORE *chain_store = -
920 ((void *)0)-
921 ;-
922 X509_STORE_CTX *xs_ctx = -
923 ((void *)0)-
924 ;-
925 struct stack_st_X509 *chain = -
926 ((void *)0)-
927 , *untrusted = -
928 ((void *)0)-
929 ;-
930 X509 *x;-
931 int i, rv = 0;-
932-
933 if (!cpk->x509
!cpk->x509Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
934 ERR_put_error(20,(332),(179),__FILE__,798);-
935 goto
never executed: goto err;
err;
never executed: goto err;
0
936 }-
937-
938 if (flags & 0x4
flags & 0x4Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
939 chain_store = X509_STORE_new();-
940 if (chain_store ==
chain_store == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
941 ((void *)0)
chain_store == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
942 )-
943 goto
never executed: goto err;
err;
never executed: goto err;
0
944 for (i = 0; i < sk_X509_num(cpk->chain)
i < sk_X509_num(cpk->chain)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
945 x = sk_X509_value(cpk->chain, i);-
946 if (!X509_STORE_add_cert(chain_store, x)
!X509_STORE_ad...hain_store, x)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
947 goto
never executed: goto err;
err;
never executed: goto err;
0
948 }
never executed: end of block
0
949-
950 if (!X509_STORE_add_cert(chain_store, cpk->x509)
!X509_STORE_ad...re, cpk->x509)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
951 goto
never executed: goto err;
err;
never executed: goto err;
0
952 }
never executed: end of block
else {
0
953 if (c->chain_store
c->chain_storeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
954 chain_store = c->chain_store;
never executed: chain_store = c->chain_store;
0
955 else if (s
sDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
956 chain_store = s->ctx->cert_store;
never executed: chain_store = s->ctx->cert_store;
0
957 else-
958 chain_store = ctx->cert_store;
never executed: chain_store = ctx->cert_store;
0
959-
960 if (flags & 0x1
flags & 0x1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
961 untrusted = cpk->chain;
never executed: untrusted = cpk->chain;
0
962 }
never executed: end of block
0
963-
964 xs_ctx = X509_STORE_CTX_new();-
965 if (xs_ctx ==
xs_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
966 ((void *)0)
xs_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
967 ) {-
968 ERR_put_error(20,(332),((1|64)),__FILE__,828);-
969 goto
never executed: goto err;
err;
never executed: goto err;
0
970 }-
971 if (!X509_STORE_CTX_init(xs_ctx, chain_store, cpk->x509, untrusted)
!X509_STORE_CT...09, untrusted)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
972 ERR_put_error(20,(332),(11),__FILE__,832);-
973 goto
never executed: goto err;
err;
never executed: goto err;
0
974 }-
975-
976 X509_STORE_CTX_set_flags(xs_ctx,-
977 c->cert_flags & 0x30000);-
978-
979 i = X509_verify_cert(xs_ctx);-
980 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
&& flags & 0x8
flags & 0x8Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
981 if (flags & 0x10
flags & 0x10Description
TRUEnever evaluated
FALSEnever evaluated
)
0
982 ERR_clear_error();
never executed: ERR_clear_error();
0
983 i = 1;-
984 rv = 2;-
985 }
never executed: end of block
0
986 if (i > 0
i > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
987 chain = X509_STORE_CTX_get1_chain(xs_ctx);
never executed: chain = X509_STORE_CTX_get1_chain(xs_ctx);
0
988 if (i <= 0
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
989 ERR_put_error(20,(332),(134),__FILE__,849);-
990 i = X509_STORE_CTX_get_error(xs_ctx);-
991 ERR_add_error_data(2, "Verify error:",-
992 X509_verify_cert_error_string(i));-
993-
994 goto
never executed: goto err;
err;
never executed: goto err;
0
995 }-
996-
997 x = sk_X509_shift(chain);-
998 X509_free(x);-
999 if (flags & 0x2
flags & 0x2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1000 if (sk_X509_num(chain) > 0
sk_X509_num(chain) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1001-
1002 x = sk_X509_value(chain, sk_X509_num(chain) - 1);-
1003 if (X509_get_extension_flags(x) & 0x2000
X509_get_exten...gs(x) & 0x2000Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1004 x = sk_X509_pop(chain);-
1005 X509_free(x);-
1006 }
never executed: end of block
0
1007 }
never executed: end of block
0
1008 }
never executed: end of block
0
1009-
1010-
1011-
1012-
1013 for (i = 0; i < sk_X509_num(chain)
i < sk_X509_num(chain)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1014 x = sk_X509_value(chain, i);-
1015 rv = ssl_security_cert(s, ctx, x, 0, 0);-
1016 if (rv != 1
rv != 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1017 ERR_put_error(20,(332),(rv),__FILE__,877);-
1018 sk_X509_pop_free(chain, X509_free);-
1019 rv = 0;-
1020 goto
never executed: goto err;
err;
never executed: goto err;
0
1021 }-
1022 }
never executed: end of block
0
1023 sk_X509_pop_free(cpk->chain, X509_free);-
1024 cpk->chain = chain;-
1025 if (rv == 0
rv == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1026 rv = 1;
never executed: rv = 1;
0
1027 err:
code before this statement never executed: err:
0
1028 if (flags & 0x4
flags & 0x4Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1029 X509_STORE_free(chain_store);
never executed: X509_STORE_free(chain_store);
0
1030 X509_STORE_CTX_free(xs_ctx);-
1031-
1032 return
never executed: return rv;
rv;
never executed: return rv;
0
1033}-
1034-
1035int ssl_cert_set_cert_store(CERT *c, X509_STORE *store, int chain, int ref)-
1036{-
1037 X509_STORE **pstore;-
1038 if (chain
chainDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1039 pstore = &c->chain_store;
never executed: pstore = &c->chain_store;
0
1040 else-
1041 pstore = &c->verify_store;
never executed: pstore = &c->verify_store;
0
1042 X509_STORE_free(*pstore);-
1043 *pstore = store;-
1044 if (ref
refDescription
TRUEnever evaluated
FALSEnever evaluated
&& store
storeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1045 X509_STORE_up_ref(store);
never executed: X509_STORE_up_ref(store);
0
1046 return
never executed: return 1;
1;
never executed: return 1;
0
1047}-
1048-
1049static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx,-
1050 int op, int bits, int nid, void *other,-
1051 void *ex)-
1052{-
1053 int level, minbits;-
1054 static const int minbits_table[5] = { 80, 112, 128, 192, 256 };-
1055 if (ctx
ctxDescription
TRUEevaluated 16365 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 672459 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
16365-672459
1056 level = SSL_CTX_get_security_level(ctx);
executed 16365 times by 1 test: level = SSL_CTX_get_security_level(ctx);
Executed by:
  • libssl.so.1.1
16365
1057 else-
1058 level = SSL_get_security_level(s);
executed 672459 times by 1 test: level = SSL_get_security_level(s);
Executed by:
  • libssl.so.1.1
672459
1059-
1060 if (level <= 0
level <= 0Description
TRUEevaluated 499530 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 189294 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
189294-499530
1061-
1062-
1063-
1064-
1065 if (op == (7 | (4 << 16))
op == (7 | (4 << 16))Description
TRUEevaluated 653 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 498877 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& bits < 80
bits < 80Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 649 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
4-498877
1066 return
executed 4 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
0;
executed 4 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
4
1067 return
executed 499526 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
1;
executed 499526 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
499526
1068 }-
1069 if (level > 5
level > 5Description
TRUEnever evaluated
FALSEevaluated 189294 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-189294
1070 level = 5;
never executed: level = 5;
0
1071 minbits = minbits_table[level - 1];-
1072 switch (op) {-
1073 case
executed 41520 times by 1 test: case (1 | (1 << 16)):
Executed by:
  • libssl.so.1.1
(1 | (1 << 16)):
executed 41520 times by 1 test: case (1 | (1 << 16)):
Executed by:
  • libssl.so.1.1
41520
1074 case
executed 1538 times by 1 test: case (2 | (1 << 16)):
Executed by:
  • libssl.so.1.1
(2 | (1 << 16)):
executed 1538 times by 1 test: case (2 | (1 << 16)):
Executed by:
  • libssl.so.1.1
1538
1075 case
executed 1533 times by 1 test: case (3 | (1 << 16)):
Executed by:
  • libssl.so.1.1
(3 | (1 << 16)):
executed 1533 times by 1 test: case (3 | (1 << 16)):
Executed by:
  • libssl.so.1.1
1533
1076 {-
1077 const SSL_CIPHER *c = other;-
1078-
1079 if (bits < minbits
bits < minbitsDescription
TRUEevaluated 86 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 44505 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
86-44505
1080 return
executed 86 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
0;
executed 86 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
86
1081-
1082 if (c->algorithm_auth & 0x00000004U
c->algorithm_a... & 0x00000004UDescription
TRUEevaluated 46 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 44459 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
46-44459
1083 return
executed 46 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
0;
executed 46 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
46
1084-
1085 if (c->algorithm_mac & 0x00000001U
c->algorithm_mac & 0x00000001UDescription
TRUEnever evaluated
FALSEevaluated 44459 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-44459
1086 return
never executed: return 0;
0;
never executed: return 0;
0
1087-
1088 if (minbits > 160
minbits > 160Description
TRUEnever evaluated
FALSEevaluated 44459 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& c->algorithm_mac & 0x00000002U
c->algorithm_mac & 0x00000002UDescription
TRUEnever evaluated
FALSEnever evaluated
)
0-44459
1089 return
never executed: return 0;
0;
never executed: return 0;
0
1090-
1091 if (level >= 2
level >= 2Description
TRUEnever evaluated
FALSEevaluated 44459 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& c->algorithm_enc == 0x00000004U
c->algorithm_e...== 0x00000004UDescription
TRUEnever evaluated
FALSEnever evaluated
)
0-44459
1092 return
never executed: return 0;
0;
never executed: return 0;
0
1093-
1094 if (level >= 3
level >= 3Description
TRUEnever evaluated
FALSEevaluated 44459 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& (c->min_tls != 0x0304
c->min_tls != 0x0304Description
TRUEnever evaluated
FALSEnever evaluated
||
0-44459
1095 !(c->algorithm_mkey & (0x00000002U | 0x00000004U))
!(c->algorithm... 0x00000004U))Description
TRUEnever evaluated
FALSEnever evaluated
))
0
1096 return
never executed: return 0;
0;
never executed: return 0;
0
1097 break;
executed 44459 times by 1 test: break;
Executed by:
  • libssl.so.1.1
44459
1098 }-
1099 case
executed 43696 times by 1 test: case (9 | 0):
Executed by:
  • libssl.so.1.1
(9 | 0):
executed 43696 times by 1 test: case (9 | 0):
Executed by:
  • libssl.so.1.1
43696
1100 if (!(s->method->ssl3_enc->enc_flags & 0x8)
!(s->method->s...c_flags & 0x8)Description
TRUEevaluated 41455 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 2241 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
2241-41455
1101-
1102 if (nid <= 0x0300
nid <= 0x0300Description
TRUEnever evaluated
FALSEevaluated 41455 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& level >= 2
level >= 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0-41455
1103 return
never executed: return 0;
0;
never executed: return 0;
0
1104-
1105 if (nid <= 0x0301
nid <= 0x0301Description
TRUEevaluated 7689 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 33766 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& level >= 3
level >= 3Description
TRUEnever evaluated
FALSEevaluated 7689 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-33766
1106 return
never executed: return 0;
0;
never executed: return 0;
0
1107-
1108 if (nid <= 0x0302
nid <= 0x0302Description
TRUEevaluated 16173 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 25282 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& level >= 4
level >= 4Description
TRUEnever evaluated
FALSEevaluated 16173 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-25282
1109 return
never executed: return 0;
0;
never executed: return 0;
0
1110 }
executed 41455 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
else {
41455
1111-
1112 if (((((
((((nid) == 0x...0 : (0xFEFD)))Description
TRUEevaluated 999 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 1242 times by 1 test
Evaluated by:
  • libssl.so.1.1
nid) == 0x0100) ? 0xff00 : (nid)) > (((0xFEFD) == 0x0100) ? 0xff00 : (0xFEFD)))
((((nid) == 0x...0 : (0xFEFD)))Description
TRUEevaluated 999 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 1242 times by 1 test
Evaluated by:
  • libssl.so.1.1
&& level >= 4
level >= 4Description
TRUEnever evaluated
FALSEevaluated 999 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-1939
1113 return
never executed: return 0;
0;
never executed: return 0;
0
1114 }
executed 2241 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
2241
1115 break;
executed 43696 times by 1 test: break;
Executed by:
  • libssl.so.1.1
43696
1116-
1117 case
never executed: case (15 | 0):
(15 | 0):
never executed: case (15 | 0):
0
1118 if (level >= 2
level >= 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1119 return
never executed: return 0;
0;
never executed: return 0;
0
1120 break;
never executed: break;
0
1121 case
executed 4205 times by 1 test: case (10 | 0):
Executed by:
  • libssl.so.1.1
(10 | 0):
executed 4205 times by 1 test: case (10 | 0):
Executed by:
  • libssl.so.1.1
4205
1122 if (level >= 3
level >= 3Description
TRUEnever evaluated
FALSEevaluated 4205 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-4205
1123 return
never executed: return 0;
0;
never executed: return 0;
0
1124 break;
executed 4205 times by 1 test: break;
Executed by:
  • libssl.so.1.1
4205
1125 default
executed 96802 times by 1 test: default:
Executed by:
  • libssl.so.1.1
:
executed 96802 times by 1 test: default:
Executed by:
  • libssl.so.1.1
96802
1126 if (bits < minbits
bits < minbitsDescription
TRUEnever evaluated
FALSEevaluated 96802 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-96802
1127 return
never executed: return 0;
0;
never executed: return 0;
0
1128 }
executed 96802 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
96802
1129 return
executed 189162 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
1;
executed 189162 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
189162
1130}-
1131-
1132int ssl_security(const SSL *s, int op, int bits, int nid, void *other)-
1133{-
1134 return
executed 672459 times by 1 test: return s->cert->sec_cb(s, ((void *)0) , op, bits, nid, other, s->cert->sec_ex);
Executed by:
  • libssl.so.1.1
s->cert->sec_cb(s,
executed 672459 times by 1 test: return s->cert->sec_cb(s, ((void *)0) , op, bits, nid, other, s->cert->sec_ex);
Executed by:
  • libssl.so.1.1
672459
1135 ((void *)0)
executed 672459 times by 1 test: return s->cert->sec_cb(s, ((void *)0) , op, bits, nid, other, s->cert->sec_ex);
Executed by:
  • libssl.so.1.1
672459
1136 , op, bits, nid, other, s->cert->sec_ex);
executed 672459 times by 1 test: return s->cert->sec_cb(s, ((void *)0) , op, bits, nid, other, s->cert->sec_ex);
Executed by:
  • libssl.so.1.1
672459
1137}-
1138-
1139int ssl_ctx_security(const SSL_CTX *ctx, int op, int bits, int nid, void *other)-
1140{-
1141 return
executed 16365 times by 1 test: return ctx->cert->sec_cb( ((void *)0) , ctx, op, bits, nid, other, ctx->cert->sec_ex);
Executed by:
  • libssl.so.1.1
ctx->cert->sec_cb(
executed 16365 times by 1 test: return ctx->cert->sec_cb( ((void *)0) , ctx, op, bits, nid, other, ctx->cert->sec_ex);
Executed by:
  • libssl.so.1.1
16365
1142 ((void *)0)
executed 16365 times by 1 test: return ctx->cert->sec_cb( ((void *)0) , ctx, op, bits, nid, other, ctx->cert->sec_ex);
Executed by:
  • libssl.so.1.1
16365
1143 , ctx, op, bits, nid, other,
executed 16365 times by 1 test: return ctx->cert->sec_cb( ((void *)0) , ctx, op, bits, nid, other, ctx->cert->sec_ex);
Executed by:
  • libssl.so.1.1
16365
1144 ctx->cert->sec_ex);
executed 16365 times by 1 test: return ctx->cert->sec_cb( ((void *)0) , ctx, op, bits, nid, other, ctx->cert->sec_ex);
Executed by:
  • libssl.so.1.1
16365
1145}-
1146-
1147int ssl_cert_lookup_by_nid(int nid, size_t *pidx)-
1148{-
1149 size_t i;-
1150-
1151 for (i = 0; i < (sizeof(ssl_cert_info)/sizeof((ssl_cert_info)[0]))
i < (sizeof(ss...ert_info)[0]))Description
TRUEevaluated 45652 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libssl.so.1.1
; i++) {
3-45652
1152 if (ssl_cert_info[i].nid == nid
ssl_cert_info[i].nid == nidDescription
TRUEevaluated 22006 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 23646 times by 1 test
Evaluated by:
  • libssl.so.1.1
) {
22006-23646
1153 *pidx = i;-
1154 return
executed 22006 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
1;
executed 22006 times by 1 test: return 1;
Executed by:
  • libssl.so.1.1
22006
1155 }-
1156 }
executed 23646 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
23646
1157-
1158 return
executed 3 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
0;
executed 3 times by 1 test: return 0;
Executed by:
  • libssl.so.1.1
3
1159}-
1160-
1161const SSL_CERT_LOOKUP *ssl_cert_lookup_by_pkey(const EVP_PKEY *pk, size_t *pidx)-
1162{-
1163 int nid = EVP_PKEY_id(pk);-
1164 size_t tmpidx;-
1165-
1166 if (nid == 0
nid == 0Description
TRUEnever evaluated
FALSEevaluated 20624 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-20624
1167 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1168 ((void *)0)
never executed: return ((void *)0) ;
0
1169 ;
never executed: return ((void *)0) ;
0
1170-
1171 if (!ssl_cert_lookup_by_nid(nid, &tmpidx)
!ssl_cert_look...(nid, &tmpidx)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 20621 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
3-20621
1172 return
executed 3 times by 1 test: return ((void *)0) ;
Executed by:
  • libssl.so.1.1
executed 3 times by 1 test: return ((void *)0) ;
Executed by:
  • libssl.so.1.1
3
1173 ((void *)0)
executed 3 times by 1 test: return ((void *)0) ;
Executed by:
  • libssl.so.1.1
3
1174 ;
executed 3 times by 1 test: return ((void *)0) ;
Executed by:
  • libssl.so.1.1
3
1175-
1176 if (pidx !=
pidx != ((void *)0)Description
TRUEevaluated 20112 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 509 times by 1 test
Evaluated by:
  • libssl.so.1.1
509-20112
1177 ((void *)0)
pidx != ((void *)0)Description
TRUEevaluated 20112 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 509 times by 1 test
Evaluated by:
  • libssl.so.1.1
509-20112
1178 )-
1179 *
executed 20112 times by 1 test: *pidx = tmpidx;
Executed by:
  • libssl.so.1.1
pidx = tmpidx;
executed 20112 times by 1 test: *pidx = tmpidx;
Executed by:
  • libssl.so.1.1
20112
1180-
1181 return
executed 20621 times by 1 test: return &ssl_cert_info[tmpidx];
Executed by:
  • libssl.so.1.1
&ssl_cert_info[tmpidx];
executed 20621 times by 1 test: return &ssl_cert_info[tmpidx];
Executed by:
  • libssl.so.1.1
20621
1182}-
1183-
1184const SSL_CERT_LOOKUP *ssl_cert_lookup_by_idx(size_t idx)-
1185{-
1186 if (idx >= (sizeof(ssl_cert_info)/sizeof((ssl_cert_info)[0]))
idx >= (sizeof...ert_info)[0]))Description
TRUEnever evaluated
FALSEevaluated 327134 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-327134
1187 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1188 ((void *)0)
never executed: return ((void *)0) ;
0
1189 ;
never executed: return ((void *)0) ;
0
1190 return
executed 327134 times by 1 test: return &ssl_cert_info[idx];
Executed by:
  • libssl.so.1.1
&ssl_cert_info[idx];
executed 327134 times by 1 test: return &ssl_cert_info[idx];
Executed by:
  • libssl.so.1.1
327134
1191}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2