OpenCoverage

bn_ctx.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_ctx.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4typedef struct bignum_pool_item {-
5-
6 BIGNUM vals[16];-
7-
8 struct bignum_pool_item *prev, *next;-
9} BN_POOL_ITEM;-
10-
11-
12typedef struct bignum_pool {-
13-
14 BN_POOL_ITEM *head, *current, *tail;-
15-
16 unsigned used, size;-
17} BN_POOL;-
18-
19static void BN_POOL_init(BN_POOL *);-
20static void BN_POOL_finish(BN_POOL *);-
21-
22static void BN_POOL_reset(BN_POOL *);-
23-
24static BIGNUM * BN_POOL_get(BN_POOL *);-
25static void BN_POOL_release(BN_POOL *, unsigned int);-
26-
27-
28-
29-
30-
31-
32typedef struct bignum_ctx_stack {-
33-
34 unsigned int *indexes;-
35-
36 unsigned int depth, size;-
37} BN_STACK;-
38-
39static void BN_STACK_init(BN_STACK *);-
40static void BN_STACK_finish(BN_STACK *);-
41-
42static void BN_STACK_reset(BN_STACK *);-
43-
44static int BN_STACK_push(BN_STACK *, unsigned int);-
45static unsigned int BN_STACK_pop(BN_STACK *);-
46-
47-
48-
49-
50-
51-
52struct bignum_ctx {-
53-
54 BN_POOL pool;-
55-
56 BN_STACK stack;-
57-
58 unsigned int used;-
59-
60 int err_stack;-
61-
62 int too_many;-
63};-
64void-
65BN_CTX_init(BN_CTX *ctx)-
66{-
67-
68-
69-
70-
71 BN_POOL_reset(&ctx->pool);-
72 BN_STACK_reset(&ctx->stack);-
73 ctx->used = 0;-
74 ctx->err_stack = 0;-
75 ctx->too_many = 0;-
76}
never executed: end of block
0
77-
78-
79BN_CTX *-
80BN_CTX_new(void)-
81{-
82 BN_CTX *ret = malloc(sizeof(BN_CTX));-
83 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 2321 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
0-2321
84 ERR_put_error(3,(0xfff),((1|64)),__FILE__,228);-
85 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
86 ((void *)0)
never executed: return ((void *)0) ;
0
87 ;
never executed: return ((void *)0) ;
0
88 }-
89-
90-
91 BN_POOL_init(&ret->pool);-
92 BN_STACK_init(&ret->stack);-
93 ret->used = 0;-
94 ret->err_stack = 0;-
95 ret->too_many = 0;-
96 return
executed 2321 times by 14 tests: return ret;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
ret;
executed 2321 times by 14 tests: return ret;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321
97}-
98-
99void-
100BN_CTX_free(BN_CTX *ctx)-
101{-
102 if (ctx ==
ctx == ((void *)0)Description
TRUEevaluated 510485 times by 5 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • freenull
  • ssltest
FALSEevaluated 2321 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321-510485
103 ((void *)0)
ctx == ((void *)0)Description
TRUEevaluated 510485 times by 5 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • freenull
  • ssltest
FALSEevaluated 2321 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321-510485
104 )-
105 return;
executed 510485 times by 5 tests: return;
Executed by:
  • ecdhtest
  • ecdsatest
  • ectest
  • freenull
  • ssltest
510485
106 BN_STACK_finish(&ctx->stack);-
107 BN_POOL_finish(&ctx->pool);-
108 free(ctx);-
109}
executed 2321 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321
110-
111void-
112BN_CTX_start(BN_CTX *ctx)-
113{-
114 ;-
115-
116-
117 if (ctx->err_stack
ctx->err_stackDescription
TRUEnever evaluated
FALSEevaluated 4343827 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
|| ctx->too_many
ctx->too_manyDescription
TRUEnever evaluated
FALSEevaluated 4343827 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-4343827
118 ctx->err_stack++;
never executed: ctx->err_stack++;
0
119-
120 else if (!BN_STACK_push(&ctx->stack, ctx->used)
!BN_STACK_push...ck, ctx->used)Description
TRUEnever evaluated
FALSEevaluated 4343827 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
0-4343827
121 ERR_put_error(3,(0xfff),(109),__FILE__,277);-
122 ctx->err_stack++;-
123 }
never executed: end of block
0
124 ;-
125}
executed 4343827 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4343827
126-
127void-
128BN_CTX_end(BN_CTX *ctx)-
129{-
130 ;-
131-
132 if (ctx->err_stack
ctx->err_stackDescription
TRUEnever evaluated
FALSEevaluated 4343827 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-4343827
133 ctx->err_stack--;
never executed: ctx->err_stack--;
0
134 else {-
135 unsigned int fp = BN_STACK_pop(&ctx->stack);-
136-
137 if (fp < ctx->used
fp < ctx->usedDescription
TRUEevaluated 3620346 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 723481 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
723481-3620346
138 BN_POOL_release(&ctx->pool, ctx->used - fp);
executed 3620346 times by 14 tests: BN_POOL_release(&ctx->pool, ctx->used - fp);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
3620346
139 ctx->used = fp;-
140-
141 ctx->too_many = 0;-
142 }
executed 4343827 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4343827
143 ;-
144}-
145-
146BIGNUM *-
147BN_CTX_get(BN_CTX *ctx)-
148{-
149 BIGNUM *ret;-
150-
151 ;-
152-
153 if (ctx->err_stack
ctx->err_stackDescription
TRUEnever evaluated
FALSEevaluated 8400874 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
|| ctx->too_many
ctx->too_manyDescription
TRUEnever evaluated
FALSEevaluated 8400874 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-8400874
154 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
155 ((void *)0)
never executed: return ((void *)0) ;
0
156 ;
never executed: return ((void *)0) ;
0
157 if ((
(ret = BN_POOL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8400874 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
ret = BN_POOL_get(&ctx->pool)) ==
(ret = BN_POOL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8400874 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-8400874
158 ((void *)0)
(ret = BN_POOL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8400874 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
0-8400874
159 ) {-
160-
161-
162 ctx->too_many = 1;-
163 ERR_put_error(3,(0xfff),(109),__FILE__,315);-
164 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
165 ((void *)0)
never executed: return ((void *)0) ;
0
166 ;
never executed: return ((void *)0) ;
0
167 }-
168-
169 (BN_set_word((ret),0));-
170 ctx->used++;-
171 ;-
172 return
executed 8400874 times by 14 tests: return ret;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
ret;
executed 8400874 times by 14 tests: return ret;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
8400874
173}-
174-
175-
176-
177-
178-
179static void-
180BN_STACK_init(BN_STACK *st)-
181{-
182 st->indexes = -
183 ((void *)0)-
184 ;-
185 st->depth = st->size = 0;-
186}
executed 2321 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321
187-
188static void-
189BN_STACK_finish(BN_STACK *st)-
190{-
191 if (st->size
st->sizeDescription
TRUEevaluated 2183 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 138 times by 4 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
)
138-2183
192 free(st->indexes);
executed 2183 times by 14 tests: free(st->indexes);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2183
193}
executed 2321 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321
194-
195-
196static void-
197BN_STACK_reset(BN_STACK *st)-
198{-
199 st->depth = 0;-
200}
never executed: end of block
0
201-
202-
203static int-
204BN_STACK_push(BN_STACK *st, unsigned int idx)-
205{-
206 if (st->depth == st->size
st->depth == st->sizeDescription
TRUEevaluated 2183 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 4341644 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
2183-4341644
207-
208 {-
209 unsigned int newsize = (st->size
st->sizeDescription
TRUEnever evaluated
FALSEevaluated 2183 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
?
0-2183
210 (st->size * 3 / 2) : 32);-
211 unsigned int *newitems = reallocarray(-
212 ((void *)0)-
213 ,-
214 newsize, sizeof(unsigned int));-
215 if (!newitems
!newitemsDescription
TRUEnever evaluated
FALSEevaluated 2183 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-2183
216 return
never executed: return 0;
0;
never executed: return 0;
0
217 if (st->depth
st->depthDescription
TRUEnever evaluated
FALSEevaluated 2183 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-2183
218 memcpy(newitems, st->indexes, st->depth *
never executed: memcpy(newitems, st->indexes, st->depth * sizeof(unsigned int));
0
219 sizeof(unsigned int));
never executed: memcpy(newitems, st->indexes, st->depth * sizeof(unsigned int));
0
220 if (st->size
st->sizeDescription
TRUEnever evaluated
FALSEevaluated 2183 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-2183
221 free(st->indexes);
never executed: free(st->indexes);
0
222 st->indexes = newitems;-
223 st->size = newsize;-
224 }
executed 2183 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2183
225 st->indexes[(st->depth)++] = idx;-
226 return
executed 4343827 times by 14 tests: return 1;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
1;
executed 4343827 times by 14 tests: return 1;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4343827
227}-
228-
229static unsigned int-
230BN_STACK_pop(BN_STACK *st)-
231{-
232 return
executed 4343827 times by 14 tests: return st->indexes[--(st->depth)];
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
st->indexes[--(st->depth)];
executed 4343827 times by 14 tests: return st->indexes[--(st->depth)];
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
4343827
233}-
234-
235-
236-
237-
238-
239static void-
240BN_POOL_init(BN_POOL *p)-
241{-
242 p->head = p->current = p->tail = -
243 ((void *)0)-
244 ;-
245 p->used = p->size = 0;-
246}
executed 2321 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321
247-
248static void-
249BN_POOL_finish(BN_POOL *p)-
250{-
251 while (p->head
p->headDescription
TRUEevaluated 2698 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2321 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
2321-2698
252 unsigned int loop = 0;-
253 BIGNUM *bn = p->head->vals;-
254 while (loop++ < 16
loop++ < 16Description
TRUEevaluated 43168 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2698 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
2698-43168
255 if (bn->d
bn->dDescription
TRUEevaluated 27929 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 15239 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
15239-27929
256 BN_clear_free(bn);
executed 27929 times by 14 tests: BN_clear_free(bn);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
27929
257 bn++;-
258 }
executed 43168 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
43168
259 p->current = p->head->next;-
260 free(p->head);-
261 p->head = p->current;-
262 }
executed 2698 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2698
263}
executed 2321 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2321
264-
265-
266static void-
267BN_POOL_reset(BN_POOL *p)-
268{-
269 BN_POOL_ITEM *item = p->head;-
270 while (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
271 unsigned int loop = 0;-
272 BIGNUM *bn = item->vals;-
273 while (loop++ < 16
loop++ < 16Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
274 if (bn->d
bn->dDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
275 BN_clear(bn);
never executed: BN_clear(bn);
0
276 bn++;-
277 }
never executed: end of block
0
278 item = item->next;-
279 }
never executed: end of block
0
280 p->current = p->head;-
281 p->used = 0;-
282}
never executed: end of block
0
283-
284-
285static BIGNUM *-
286BN_POOL_get(BN_POOL *p)-
287{-
288 if (p->used == p->size
p->used == p->sizeDescription
TRUEevaluated 2698 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 8398176 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
2698-8398176
289 BIGNUM *bn;-
290 unsigned int loop = 0;-
291 BN_POOL_ITEM *item = malloc(sizeof(BN_POOL_ITEM));-
292 if (!item
!itemDescription
TRUEnever evaluated
FALSEevaluated 2698 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
0-2698
293 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
294 ((void *)0)
never executed: return ((void *)0) ;
0
295 ;
never executed: return ((void *)0) ;
0
296-
297 bn = item->vals;-
298 while (loop++ < 16
loop++ < 16Description
TRUEevaluated 43168 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2698 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
2698-43168
299 BN_init(bn++);
executed 43168 times by 14 tests: BN_init(bn++);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
43168
300 item->prev = p->tail;-
301 item->next = -
302 ((void *)0)-
303 ;-
304-
305 if (!p->head
!p->headDescription
TRUEevaluated 2183 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 515 times by 12 tests
Evaluated by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
515-2183
306 p->head = p->current = p->tail = item;
executed 2183 times by 14 tests: p->head = p->current = p->tail = item;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2183
307 else {-
308 p->tail->next = item;-
309 p->tail = item;-
310 p->current = item;-
311 }
executed 515 times by 12 tests: end of block
Executed by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
515
312 p->size += 16;-
313 p->used++;-
314-
315 return
executed 2698 times by 14 tests: return item->vals;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
item->vals;
executed 2698 times by 14 tests: return item->vals;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
2698
316 }-
317 if (!p->used
!p->usedDescription
TRUEevaluated 30324 times by 11 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • servertest
  • ssltest
FALSEevaluated 8367852 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
30324-8367852
318 p->current = p->head;
executed 30324 times by 11 tests: p->current = p->head;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • servertest
  • ssltest
30324
319 else if ((
(p->used % 16) == 0Description
TRUEevaluated 165047 times by 12 tests
Evaluated by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 8202805 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
p->used % 16) == 0
(p->used % 16) == 0Description
TRUEevaluated 165047 times by 12 tests
Evaluated by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 8202805 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
)
165047-8202805
320 p->current = p->current->next;
executed 165047 times by 12 tests: p->current = p->current->next;
Executed by:
  • bntest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
165047
321 return
executed 8398176 times by 14 tests: return p->current->vals + ((p->used++) % 16);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
p->current->vals + ((p->used++) % 16);
executed 8398176 times by 14 tests: return p->current->vals + ((p->used++) % 16);
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
8398176
322}-
323-
324static void-
325BN_POOL_release(BN_POOL *p, unsigned int num)-
326{-
327 unsigned int offset = (p->used - 1) % 16;-
328-
329 p->used -= num;-
330 while (num--
num--Description
TRUEevaluated 8400874 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 3620346 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
3620346-8400874
331 ;-
332 if (!offset
!offsetDescription
TRUEevaluated 198069 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 8202805 times by 14 tests
Evaluated by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
) {
198069-8202805
333 offset = 16 - 1;-
334 p->current = p->current->prev;-
335 }
executed 198069 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
else
198069
336 offset--;
executed 8202805 times by 14 tests: offset--;
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
8202805
337 }-
338}
executed 3620346 times by 14 tests: end of block
Executed by:
  • bntest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • exptest
  • libcrypto.so.44.0.1
  • mont
  • pkcs7test
  • rsa_test
  • servertest
  • ssltest
  • tlstest
3620346
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2