OpenCoverage

dh_lib.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/dh/dh_lib.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7static const DH_METHOD *default_DH_method = -
8 ((void *)0)-
9 ;-
10-
11void-
12DH_set_default_method(const DH_METHOD *meth)-
13{-
14 default_DH_method = meth;-
15}
never executed: end of block
0
16-
17const DH_METHOD *-
18DH_get_default_method(void)-
19{-
20 if (!default_DH_method
!default_DH_methodDescription
TRUEevaluated 52 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
FALSEevaluated 178 times by 3 tests
Evaluated by:
  • mont
  • servertest
  • ssltest
)
52-178
21 default_DH_method = DH_OpenSSL();
executed 52 times by 4 tests: default_DH_method = DH_OpenSSL();
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
52
22 return
executed 230 times by 4 tests: return default_DH_method;
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
default_DH_method;
executed 230 times by 4 tests: return default_DH_method;
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
23}-
24-
25int-
26DH_set_method(DH *dh, const DH_METHOD *meth)-
27{-
28-
29-
30-
31-
32 const DH_METHOD *mtmp;-
33-
34 mtmp = dh->meth;-
35 if (mtmp->finish
mtmp->finishDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
36 mtmp->finish(dh);
never executed: mtmp->finish(dh);
0
37-
38 ENGINE_finish(dh->engine);-
39 dh->engine = -
40 ((void *)0)-
41 ;-
42-
43 dh->meth = meth;-
44 if (meth->init
meth->initDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
45 meth->init(dh);
never executed: meth->init(dh);
0
46 return
never executed: return 1;
1;
never executed: return 1;
0
47}-
48-
49DH *-
50DH_new(void)-
51{-
52 return
executed 230 times by 4 tests: return DH_new_method( ((void *)0) );
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
DH_new_method(
executed 230 times by 4 tests: return DH_new_method( ((void *)0) );
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
53 ((void *)0)
executed 230 times by 4 tests: return DH_new_method( ((void *)0) );
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
54 );
executed 230 times by 4 tests: return DH_new_method( ((void *)0) );
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
55}-
56-
57DH *-
58DH_new_method(ENGINE *engine)-
59{-
60 DH *ret;-
61-
62 ret = malloc(sizeof(DH));-
63 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
0-230
64 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
0-230
65 ) {-
66 ERR_put_error(5,(0xfff),((1|64)),__FILE__,123);-
67 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
68 ((void *)0)
never executed: return ((void *)0) ;
0
69 ;
never executed: return ((void *)0) ;
0
70 }-
71-
72 ret->meth = DH_get_default_method();-
73-
74 if (engine
engineDescription
TRUEnever evaluated
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
) {
0-230
75 if (!ENGINE_init(engine)
!ENGINE_init(engine)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
76 ERR_put_error(5,(0xfff),(38),__FILE__,131);-
77 free(ret);-
78 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
79 ((void *)0)
never executed: return ((void *)0) ;
0
80 ;
never executed: return ((void *)0) ;
0
81 }-
82 ret->engine = engine;-
83 }
never executed: end of block
else
0
84 ret->engine = ENGINE_get_default_DH();
executed 230 times by 4 tests: ret->engine = ENGINE_get_default_DH();
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
85 if(ret->engine
ret->engineDescription
TRUEnever evaluated
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
) {
0-230
86 ret->meth = ENGINE_get_DH(ret->engine);-
87 if (ret->meth ==
ret->meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
88 ((void *)0)
ret->meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
89 ) {-
90 ERR_put_error(5,(0xfff),(38),__FILE__,141);-
91 ENGINE_finish(ret->engine);-
92 free(ret);-
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 }
never executed: end of block
0
98-
99-
100 ret->pad = 0;-
101 ret->version = 0;-
102 ret->p = -
103 ((void *)0)-
104 ;-
105 ret->g = -
106 ((void *)0)-
107 ;-
108 ret->length = 0;-
109 ret->pub_key = -
110 ((void *)0)-
111 ;-
112 ret->priv_key = -
113 ((void *)0)-
114 ;-
115 ret->q = -
116 ((void *)0)-
117 ;-
118 ret->j = -
119 ((void *)0)-
120 ;-
121 ret->seed = -
122 ((void *)0)-
123 ;-
124 ret->seedlen = 0;-
125 ret->counter = -
126 ((void *)0)-
127 ;-
128 ret->method_mont_p=-
129 ((void *)0)-
130 ;-
131 ret->references = 1;-
132 ret->flags = ret->meth->flags & ~0x0400;-
133 CRYPTO_new_ex_data(8, ret, &ret->ex_data);-
134 if (ret->meth->init !=
ret->meth->init != ((void *)0)Description
TRUEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
FALSEnever evaluated
0-230
135 ((void *)0)
ret->meth->init != ((void *)0)Description
TRUEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
FALSEnever evaluated
0-230
136 && !ret->meth->init(ret)
!ret->meth->init(ret)Description
TRUEnever evaluated
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
) {
0-230
137-
138 ENGINE_finish(ret->engine);-
139-
140 CRYPTO_free_ex_data(8, ret, &ret->ex_data);-
141 free(ret);-
142 ret = -
143 ((void *)0)-
144 ;-
145 }
never executed: end of block
0
146 return
executed 230 times by 4 tests: return ret;
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
ret;
executed 230 times by 4 tests: return ret;
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
147}-
148-
149void-
150DH_free(DH *r)-
151{-
152 int i;-
153-
154 if (r ==
r == ((void *)0)Description
TRUEevaluated 1380 times by 14 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • freenull
  • libcrypto.so.44.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
230-1380
155 ((void *)0)
r == ((void *)0)Description
TRUEevaluated 1380 times by 14 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • freenull
  • libcrypto.so.44.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
230-1380
156 )-
157 return;
executed 1380 times by 14 tests: return;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • freenull
  • libcrypto.so.44.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
1380
158 i = CRYPTO_add_lock(&r->references,-1,26,__FILE__,183);-
159 if (i > 0
i > 0Description
TRUEnever evaluated
FALSEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
)
0-230
160 return;
never executed: return;
0
161-
162 if (r->meth->finish
r->meth->finishDescription
TRUEevaluated 230 times by 4 tests
Evaluated by:
  • dhtest
  • mont
  • servertest
  • ssltest
FALSEnever evaluated
)
0-230
163 r->meth->finish(r);
executed 230 times by 4 tests: r->meth->finish(r);
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
164-
165 ENGINE_finish(r->engine);-
166-
167-
168 CRYPTO_free_ex_data(8, r, &r->ex_data);-
169-
170 BN_clear_free(r->p);-
171 BN_clear_free(r->g);-
172 BN_clear_free(r->q);-
173 BN_clear_free(r->j);-
174 free(r->seed);-
175 BN_clear_free(r->counter);-
176 BN_clear_free(r->pub_key);-
177 BN_clear_free(r->priv_key);-
178 free(r);-
179}
executed 230 times by 4 tests: end of block
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
180-
181int-
182DH_up_ref(DH *r)-
183{-
184 int i = CRYPTO_add_lock(&r->references,1,26,__FILE__,209);-
185-
186 return
never executed: return i > 1 ? 1 : 0;
i > 1
i > 1Description
TRUEnever evaluated
FALSEnever evaluated
? 1 : 0;
never executed: return i > 1 ? 1 : 0;
0
187}-
188-
189int-
190DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,-
191 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)-
192{-
193 return
never executed: return CRYPTO_get_ex_new_index(8, argl, argp, new_func, dup_func, free_func);
CRYPTO_get_ex_new_index(8, argl, argp, new_func,
never executed: return CRYPTO_get_ex_new_index(8, argl, argp, new_func, dup_func, free_func);
0
194 dup_func, free_func);
never executed: return CRYPTO_get_ex_new_index(8, argl, argp, new_func, dup_func, free_func);
0
195}-
196-
197int-
198DH_set_ex_data(DH *d, int idx, void *arg)-
199{-
200 return
never executed: return CRYPTO_set_ex_data(&d->ex_data, idx, arg);
CRYPTO_set_ex_data(&d->ex_data, idx, arg);
never executed: return CRYPTO_set_ex_data(&d->ex_data, idx, arg);
0
201}-
202-
203void *-
204DH_get_ex_data(DH *d, int idx)-
205{-
206 return
never executed: return CRYPTO_get_ex_data(&d->ex_data, idx);
CRYPTO_get_ex_data(&d->ex_data, idx);
never executed: return CRYPTO_get_ex_data(&d->ex_data, idx);
0
207}-
208-
209int-
210DH_size(const DH *dh)-
211{-
212 return
executed 81 times by 3 tests: return ((BN_num_bits(dh->p)+7)/8);
Executed by:
  • dhtest
  • mont
  • ssltest
((BN_num_bits(dh->p)+7)/8);
executed 81 times by 3 tests: return ((BN_num_bits(dh->p)+7)/8);
Executed by:
  • dhtest
  • mont
  • ssltest
81
213}-
214-
215int-
216DH_bits(const DH *dh)-
217{-
218 return
never executed: return BN_num_bits(dh->p);
BN_num_bits(dh->p);
never executed: return BN_num_bits(dh->p);
0
219}-
220-
221ENGINE *-
222DH_get0_engine(DH *dh)-
223{-
224 return
never executed: return dh->engine;
dh->engine;
never executed: return dh->engine;
0
225}-
226-
227void-
228DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)-
229{-
230 if (p !=
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
231 ((void *)0)
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
232 )-
233 *
never executed: *p = dh->p;
p = dh->p;
never executed: *p = dh->p;
0
234 if (q !=
q != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
235 ((void *)0)
q != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
236 )-
237 *
never executed: *q = dh->q;
q = dh->q;
never executed: *q = dh->q;
0
238 if (g !=
g != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
239 ((void *)0)
g != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
240 )-
241 *
never executed: *g = dh->g;
g = dh->g;
never executed: *g = dh->g;
0
242}
never executed: end of block
0
243-
244int-
245DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)-
246{-
247 if ((dh->p ==
dh->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
248 ((void *)0)
dh->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
249 && p ==
p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
250 ((void *)0)
p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
251 ) || (dh->g ==
dh->g == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
252 ((void *)0)
dh->g == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
253 && g ==
g == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
254 ((void *)0)
g == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
255 ))-
256 return
never executed: return 0;
0;
never executed: return 0;
0
257-
258 if (p !=
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
259 ((void *)0)
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
260 ) {-
261 BN_free(dh->p);-
262 dh->p = p;-
263 }
never executed: end of block
0
264 if (q !=
q != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
265 ((void *)0)
q != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
266 ) {-
267 BN_free(dh->q);-
268 dh->q = q;-
269 }
never executed: end of block
0
270 if (g !=
g != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
271 ((void *)0)
g != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
272 ) {-
273 BN_free(dh->g);-
274 dh->g = g;-
275 }
never executed: end of block
0
276-
277 return
never executed: return 1;
1;
never executed: return 1;
0
278}-
279-
280void-
281DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)-
282{-
283 if (pub_key !=
pub_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
284 ((void *)0)
pub_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
285 )-
286 *
never executed: *pub_key = dh->pub_key;
pub_key = dh->pub_key;
never executed: *pub_key = dh->pub_key;
0
287 if (priv_key !=
priv_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
288 ((void *)0)
priv_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
289 )-
290 *
never executed: *priv_key = dh->priv_key;
priv_key = dh->priv_key;
never executed: *priv_key = dh->priv_key;
0
291}
never executed: end of block
0
292-
293int-
294DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)-
295{-
296 if (pub_key !=
pub_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
297 ((void *)0)
pub_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
298 ) {-
299 BN_free(dh->pub_key);-
300 dh->pub_key = pub_key;-
301 }
never executed: end of block
0
302 if (priv_key !=
priv_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
303 ((void *)0)
priv_key != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
304 ) {-
305 BN_free(dh->priv_key);-
306 dh->priv_key = priv_key;-
307 }
never executed: end of block
0
308-
309 return
never executed: return 1;
1;
never executed: return 1;
0
310}-
311-
312void-
313DH_clear_flags(DH *dh, int flags)-
314{-
315 dh->flags &= ~flags;-
316}
never executed: end of block
0
317-
318int-
319DH_test_flags(const DH *dh, int flags)-
320{-
321 return
never executed: return dh->flags & flags;
dh->flags & flags;
never executed: return dh->flags & flags;
0
322}-
323-
324void-
325DH_set_flags(DH *dh, int flags)-
326{-
327 dh->flags |= flags;-
328}
never executed: end of block
0
329-
330int-
331DH_set_length(DH *dh, long length)-
332{-
333 if (length < 0
length < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| length > 0x7fffffff
length > 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
334 return
never executed: return 0;
0;
never executed: return 0;
0
335-
336 dh->length = length;-
337 return
never executed: return 1;
1;
never executed: return 1;
0
338}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2