OpenCoverage

ec_key.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ec/ec_key.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4EC_KEY *-
5EC_KEY_new(void)-
6{-
7 EC_KEY *ret;-
8-
9 ret = malloc(sizeof(EC_KEY));-
10 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 319 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-319
11 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 319 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-319
12 ) {-
13 ERR_put_error(16,(0xfff),((1|64)),__FILE__,78);-
14 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
15 ((void *)0)
never executed: return ( ((void *)0) );
0
16 );
never executed: return ( ((void *)0) );
0
17 }-
18 ret->version = 1;-
19 ret->flags = 0;-
20 ret->group = -
21 ((void *)0)-
22 ;-
23 ret->pub_key = -
24 ((void *)0)-
25 ;-
26 ret->priv_key = -
27 ((void *)0)-
28 ;-
29 ret->enc_flag = 0;-
30 ret->conv_form = POINT_CONVERSION_UNCOMPRESSED;-
31 ret->references = 1;-
32 ret->method_data = -
33 ((void *)0)-
34 ;-
35 return
executed 319 times by 3 tests: return (ret);
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
(ret);
executed 319 times by 3 tests: return (ret);
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
319
36}-
37-
38EC_KEY *-
39EC_KEY_new_by_curve_name(int nid)-
40{-
41 EC_KEY *ret = EC_KEY_new();-
42 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 108 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-108
43 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 108 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-108
44 )-
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 ret->group = EC_GROUP_new_by_curve_name(nid);-
49 if (ret->group ==
ret->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 108 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-108
50 ((void *)0)
ret->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 108 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-108
51 ) {-
52 EC_KEY_free(ret);-
53 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
54 ((void *)0)
never executed: return ((void *)0) ;
0
55 ;
never executed: return ((void *)0) ;
0
56 }-
57 return
executed 108 times by 2 tests: return ret;
Executed by:
  • ecdhtest
  • ssltest
ret;
executed 108 times by 2 tests: return ret;
Executed by:
  • ecdhtest
  • ssltest
108
58}-
59-
60void-
61EC_KEY_free(EC_KEY * r)-
62{-
63 int i;-
64-
65 if (r ==
r == ((void *)0)Description
TRUEevaluated 1454 times by 15 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • libcrypto.so.44.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 319 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
319-1454
66 ((void *)0)
r == ((void *)0)Description
TRUEevaluated 1454 times by 15 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • libcrypto.so.44.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 319 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
319-1454
67 )-
68 return;
executed 1454 times by 15 tests: return;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • ecdsatest
  • freenull
  • libcrypto.so.44.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
1454
69-
70 i = CRYPTO_add_lock(&r->references,-1,33,__FILE__,115);-
71 if (i > 0
i > 0Description
TRUEnever evaluated
FALSEevaluated 319 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
)
0-319
72 return;
never executed: return;
0
73-
74 EC_GROUP_free(r->group);-
75 EC_POINT_free(r->pub_key);-
76 BN_clear_free(r->priv_key);-
77-
78 EC_EX_DATA_free_all_data(&r->method_data);-
79-
80 freezero(r, sizeof(EC_KEY));-
81}
executed 319 times by 3 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
319
82-
83EC_KEY *-
84EC_KEY_copy(EC_KEY * dest, const EC_KEY * src)-
85{-
86 EC_EXTRA_DATA *d;-
87-
88 if (dest ==
dest == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
89 ((void *)0)
dest == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
90 || src ==
src == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
91 ((void *)0)
src == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
92 ) {-
93 ERR_put_error(16,(0xfff),((3|64)),__FILE__,134);-
94 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
95 ((void *)0)
never executed: return ((void *)0) ;
0
96 ;
never executed: return ((void *)0) ;
0
97 }-
98-
99 if (src->group
src->groupDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
100 const EC_METHOD *meth = EC_GROUP_method_of(src->group);-
101-
102 EC_GROUP_free(dest->group);-
103 dest->group = EC_GROUP_new(meth);-
104 if (dest->group ==
dest->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
105 ((void *)0)
dest->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
106 )-
107 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
108 ((void *)0)
never executed: return ((void *)0) ;
0
109 ;
never executed: return ((void *)0) ;
0
110 if (!EC_GROUP_copy(dest->group, src->group)
!EC_GROUP_copy...p, src->group)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
111 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
112 ((void *)0)
never executed: return ((void *)0) ;
0
113 ;
never executed: return ((void *)0) ;
0
114 }
never executed: end of block
0
115-
116 if (src->pub_key
src->pub_keyDescription
TRUEnever evaluated
FALSEnever evaluated
&& src->group
src->groupDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
117 EC_POINT_free(dest->pub_key);-
118 dest->pub_key = EC_POINT_new(src->group);-
119 if (dest->pub_key ==
dest->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
120 ((void *)0)
dest->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
121 )-
122 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
123 ((void *)0)
never executed: return ((void *)0) ;
0
124 ;
never executed: return ((void *)0) ;
0
125 if (!EC_POINT_copy(dest->pub_key, src->pub_key)
!EC_POINT_copy... src->pub_key)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
126 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
127 ((void *)0)
never executed: return ((void *)0) ;
0
128 ;
never executed: return ((void *)0) ;
0
129 }
never executed: end of block
0
130-
131 if (src->priv_key
src->priv_keyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
132 if (dest->priv_key ==
dest->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
133 ((void *)0)
dest->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
134 ) {-
135 dest->priv_key = BN_new();-
136 if (dest->priv_key ==
dest->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
137 ((void *)0)
dest->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
138 )-
139 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
140 ((void *)0)
never executed: return ((void *)0) ;
0
141 ;
never executed: return ((void *)0) ;
0
142 }
never executed: end of block
0
143 if (!BN_copy(dest->priv_key, src->priv_key)
!BN_copy(dest-...src->priv_key)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
144 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
145 ((void *)0)
never executed: return ((void *)0) ;
0
146 ;
never executed: return ((void *)0) ;
0
147 }
never executed: end of block
0
148-
149 EC_EX_DATA_free_all_data(&dest->method_data);-
150-
151 for (d = src->method_data; d !=
d != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
152 ((void *)0)
d != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
153 ; d = d->next) {-
154 void *t = d->dup_func(d->data);-
155-
156 if (t ==
t == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
157 ((void *)0)
t == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
158 )-
159 return
never executed: return 0;
0;
never executed: return 0;
0
160 if (!EC_EX_DATA_set_data(&dest->method_data, t, d->dup_func,
!EC_EX_DATA_se...ear_free_func)Description
TRUEnever evaluated
FALSEnever evaluated
0
161 d->free_func, d->clear_free_func)
!EC_EX_DATA_se...ear_free_func)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
162 return
never executed: return 0;
0;
never executed: return 0;
0
163 }
never executed: end of block
0
164-
165-
166 dest->enc_flag = src->enc_flag;-
167 dest->conv_form = src->conv_form;-
168 dest->version = src->version;-
169 dest->flags = src->flags;-
170-
171 return
never executed: return dest;
dest;
never executed: return dest;
0
172}-
173-
174EC_KEY *-
175EC_KEY_dup(const EC_KEY * ec_key)-
176{-
177 EC_KEY *ret = EC_KEY_new();-
178 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
179 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
180 )-
181 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
182 ((void *)0)
never executed: return ((void *)0) ;
0
183 ;
never executed: return ((void *)0) ;
0
184 if (EC_KEY_copy(ret, ec_key) ==
EC_KEY_copy(re...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
185 ((void *)0)
EC_KEY_copy(re...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
186 ) {-
187 EC_KEY_free(ret);-
188 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
189 ((void *)0)
never executed: return ((void *)0) ;
0
190 ;
never executed: return ((void *)0) ;
0
191 }-
192 return
never executed: return ret;
ret;
never executed: return ret;
0
193}-
194-
195int-
196EC_KEY_up_ref(EC_KEY * r)-
197{-
198 int i = CRYPTO_add_lock(&r->references,1,33,__FILE__,205);-
199 return
never executed: return ((i > 1) ? 1 : 0);
((
(i > 1)Description
TRUEnever evaluated
FALSEnever evaluated
i > 1)
(i > 1)Description
TRUEnever evaluated
FALSEnever evaluated
? 1 : 0);
never executed: return ((i > 1) ? 1 : 0);
0
200}-
201-
202int-
203EC_KEY_generate_key(EC_KEY * eckey)-
204{-
205 int ok = 0;-
206 BN_CTX *ctx = -
207 ((void *)0)-
208 ;-
209 BIGNUM *priv_key = -
210 ((void *)0)-
211 , *order = -
212 ((void *)0)-
213 ;-
214 EC_POINT *pub_key = -
215 ((void *)0)-
216 ;-
217-
218 if (!eckey
!eckeyDescription
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
|| !eckey->group
!eckey->groupDescription
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
) {
0-228
219 ERR_put_error(16,(0xfff),((3|64)),__FILE__,218);-
220 return
never executed: return 0;
0;
never executed: return 0;
0
221 }-
222 if ((
(order = BN_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
order = BN_new()) ==
(order = BN_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
223 ((void *)0)
(order = BN_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
224 )-
225 goto
never executed: goto err;
err;
never executed: goto err;
0
226 if ((
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
ctx = BN_CTX_new()) ==
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
227 ((void *)0)
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
228 )-
229 goto
never executed: goto err;
err;
never executed: goto err;
0
230-
231 if (eckey->priv_key ==
eckey->priv_key == ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
232 ((void *)0)
eckey->priv_key == ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
233 ) {-
234 priv_key = BN_new();-
235 if (priv_key ==
priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
236 ((void *)0)
priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
237 )-
238 goto
never executed: goto err;
err;
never executed: goto err;
0
239 }
executed 228 times by 3 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
else
228
240 priv_key = eckey->priv_key;
never executed: priv_key = eckey->priv_key;
0
241-
242 if (!EC_GROUP_get_order(eckey->group, order, ctx)
!EC_GROUP_get_...p, order, ctx)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
)
0-228
243 goto
never executed: goto err;
err;
never executed: goto err;
0
244-
245 do-
246 if (!BN_rand_range(priv_key, order)
!BN_rand_range...iv_key, order)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
)
0-228
247 goto
never executed: goto err;
err;
never executed: goto err;
0
248 while (((
((priv_key)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
priv_key)->top == 0)
((priv_key)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
);
0-228
249-
250 if (eckey->pub_key ==
eckey->pub_key == ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
251 ((void *)0)
eckey->pub_key == ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
252 ) {-
253 pub_key = EC_POINT_new(eckey->group);-
254 if (pub_key ==
pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
255 ((void *)0)
pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
256 )-
257 goto
never executed: goto err;
err;
never executed: goto err;
0
258 }
executed 228 times by 3 tests: end of block
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
else
228
259 pub_key = eckey->pub_key;
never executed: pub_key = eckey->pub_key;
0
260-
261 if (!EC_POINT_mul(eckey->group, pub_key, priv_key,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
262 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
263 ,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
264 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
265 , ctx)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
)
0-228
266 goto
never executed: goto err;
err;
never executed: goto err;
0
267-
268 eckey->priv_key = priv_key;-
269 eckey->pub_key = pub_key;-
270-
271 ok = 1;-
272-
273 err:
code before this statement executed 228 times by 3 tests: err:
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
228
274 BN_free(order);-
275 if (pub_key !=
pub_key != ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
276 ((void *)0)
pub_key != ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
277 && eckey->pub_key ==
eckey->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
278 ((void *)0)
eckey->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
279 )-
280 EC_POINT_free(pub_key);
never executed: EC_POINT_free(pub_key);
0
281 if (priv_key !=
priv_key != ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
282 ((void *)0)
priv_key != ((void *)0)Description
TRUEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-228
283 && eckey->priv_key ==
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
284 ((void *)0)
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 228 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
0-228
285 )-
286 BN_free(priv_key);
never executed: BN_free(priv_key);
0
287 BN_CTX_free(ctx);-
288 return
executed 228 times by 3 tests: return (ok);
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
(ok);
executed 228 times by 3 tests: return (ok);
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
228
289}-
290-
291int-
292EC_KEY_check_key(const EC_KEY * eckey)-
293{-
294 int ok = 0;-
295 BN_CTX *ctx = -
296 ((void *)0)-
297 ;-
298 const BIGNUM *order = -
299 ((void *)0)-
300 ;-
301 EC_POINT *point = -
302 ((void *)0)-
303 ;-
304-
305 if (!eckey
!eckeyDescription
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
|| !eckey->group
!eckey->groupDescription
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
|| !eckey->pub_key
!eckey->pub_keyDescription
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
306 ERR_put_error(16,(0xfff),((3|64)),__FILE__,275);-
307 return
never executed: return 0;
0;
never executed: return 0;
0
308 }-
309 if (EC_POINT_is_at_infinity(eckey->group, eckey->pub_key) > 0
EC_POINT_is_at...->pub_key) > 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
310 ERR_put_error(16,(0xfff),(106),__FILE__,279);-
311 goto
never executed: goto err;
err;
never executed: goto err;
0
312 }-
313 if ((
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
ctx = BN_CTX_new()) ==
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
314 ((void *)0)
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
315 )-
316 goto
never executed: goto err;
err;
never executed: goto err;
0
317 if ((
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
point = EC_POINT_new(eckey->group)) ==
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
318 ((void *)0)
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
319 )-
320 goto
never executed: goto err;
err;
never executed: goto err;
0
321-
322-
323 if (EC_POINT_is_on_curve(eckey->group, eckey->pub_key, ctx) <= 0
EC_POINT_is_on...key, ctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
324 ERR_put_error(16,(0xfff),(107),__FILE__,289);-
325 goto
never executed: goto err;
err;
never executed: goto err;
0
326 }-
327-
328 order = &eckey->group->order;-
329 if (((
((order)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
order)->top == 0)
((order)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
330 ERR_put_error(16,(0xfff),(122),__FILE__,295);-
331 goto
never executed: goto err;
err;
never executed: goto err;
0
332 }-
333 if (!EC_POINT_mul(eckey->group, point,
!EC_POINT_mul(...y, order, ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
334 ((void *)0)
!EC_POINT_mul(...y, order, ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
335 , eckey->pub_key, order, ctx)
!EC_POINT_mul(...y, order, ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
336 ERR_put_error(16,(0xfff),(16),__FILE__,299);-
337 goto
never executed: goto err;
err;
never executed: goto err;
0
338 }-
339 if (EC_POINT_is_at_infinity(eckey->group, point) <= 0
EC_POINT_is_at...p, point) <= 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
340 ERR_put_error(16,(0xfff),(130),__FILE__,303);-
341 goto
never executed: goto err;
err;
never executed: goto err;
0
342 }-
343-
344-
345-
346-
347 if (eckey->priv_key
eckey->priv_keyDescription
TRUEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
FALSEnever evaluated
) {
0-76
348 if (BN_cmp(eckey->priv_key, order) >= 0
BN_cmp(eckey->...y, order) >= 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
349 ERR_put_error(16,(0xfff),(130),__FILE__,312);-
350 goto
never executed: goto err;
err;
never executed: goto err;
0
351 }-
352 if (!EC_POINT_mul(eckey->group, point, eckey->priv_key,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
353
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
354 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
355 ,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
356 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
357 , ctx)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
358 ERR_put_error(16,(0xfff),(16),__FILE__,317);-
359 goto
never executed: goto err;
err;
never executed: goto err;
0
360 }-
361 if (EC_POINT_cmp(eckey->group, point, eckey->pub_key,
EC_POINT_cmp(e...key, ctx) != 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
0-76
362 ctx) != 0
EC_POINT_cmp(e...key, ctx) != 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 1 test
Evaluated by:
  • ecdsatest
) {
0-76
363 ERR_put_error(16,(0xfff),(123),__FILE__,322);-
364 goto
never executed: goto err;
err;
never executed: goto err;
0
365 }-
366 }
executed 76 times by 1 test: end of block
Executed by:
  • ecdsatest
76
367 ok = 1;-
368 err:
code before this statement executed 76 times by 1 test: err:
Executed by:
  • ecdsatest
76
369 BN_CTX_free(ctx);-
370 EC_POINT_free(point);-
371 return
executed 76 times by 1 test: return (ok);
Executed by:
  • ecdsatest
(ok);
executed 76 times by 1 test: return (ok);
Executed by:
  • ecdsatest
76
372}-
373-
374int-
375EC_KEY_set_public_key_affine_coordinates(EC_KEY * key, BIGNUM * x, BIGNUM * y)-
376{-
377 BN_CTX *ctx = -
378 ((void *)0)-
379 ;-
380 BIGNUM *tx, *ty;-
381 EC_POINT *point = -
382 ((void *)0)-
383 ;-
384 int ok = 0, tmp_nid, is_char_two = 0;-
385-
386 if (!key
!keyDescription
TRUEnever evaluated
FALSEnever evaluated
|| !key->group
!key->groupDescription
TRUEnever evaluated
FALSEnever evaluated
|| !x
!xDescription
TRUEnever evaluated
FALSEnever evaluated
|| !y
!yDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
387 ERR_put_error(16,(0xfff),((3|64)),__FILE__,342);-
388 return
never executed: return 0;
0;
never executed: return 0;
0
389 }-
390 ctx = BN_CTX_new();-
391 if (!ctx
!ctxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
392 goto
never executed: goto err;
err;
never executed: goto err;
0
393-
394 point = EC_POINT_new(key->group);-
395-
396 if (!point
!pointDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
397 goto
never executed: goto err;
err;
never executed: goto err;
0
398-
399 tmp_nid = EC_METHOD_get_field_type(EC_GROUP_method_of(key->group));-
400-
401 if (tmp_nid == 407
tmp_nid == 407Description
TRUEnever evaluated
FALSEnever evaluated
)
0
402 is_char_two = 1;
never executed: is_char_two = 1;
0
403-
404 if ((
(tx = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tx = BN_CTX_get(ctx)) ==
(tx = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
405 ((void *)0)
(tx = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
406 )-
407 goto
never executed: goto err;
err;
never executed: goto err;
0
408 if ((
(ty = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ty = BN_CTX_get(ctx)) ==
(ty = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
409 ((void *)0)
(ty = BN_CTX_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
410 )-
411 goto
never executed: goto err;
err;
never executed: goto err;
0
412-
413-
414 if (is_char_two
is_char_twoDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
415 if (!EC_POINT_set_affine_coordinates_GF2m(key->group, point,
!EC_POINT_set_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
416 x, y, ctx)
!EC_POINT_set_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
417 goto
never executed: goto err;
err;
never executed: goto err;
0
418 if (!EC_POINT_get_affine_coordinates_GF2m(key->group, point,
!EC_POINT_get_..., tx, ty, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
419 tx, ty, ctx)
!EC_POINT_get_..., tx, ty, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
420 goto
never executed: goto err;
err;
never executed: goto err;
0
421 }
never executed: end of block
else
0
422-
423 {-
424 if (!EC_POINT_set_affine_coordinates_GFp(key->group, point,
!EC_POINT_set_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
425 x, y, ctx)
!EC_POINT_set_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
426 goto
never executed: goto err;
err;
never executed: goto err;
0
427 if (!EC_POINT_get_affine_coordinates_GFp(key->group, point,
!EC_POINT_get_..., tx, ty, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
428 tx, ty, ctx)
!EC_POINT_get_..., tx, ty, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
429 goto
never executed: goto err;
err;
never executed: goto err;
0
430 }
never executed: end of block
0
431-
432-
433-
434-
435 if (BN_cmp(x, tx)
BN_cmp(x, tx)Description
TRUEnever evaluated
FALSEnever evaluated
|| BN_cmp(y, ty)
BN_cmp(y, ty)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
436 ERR_put_error(16,(0xfff),(146),__FILE__,387);-
437 goto
never executed: goto err;
err;
never executed: goto err;
0
438 }-
439 if (!EC_KEY_set_public_key(key, point)
!EC_KEY_set_pu...ey(key, point)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
440 goto
never executed: goto err;
err;
never executed: goto err;
0
441-
442 if (EC_KEY_check_key(key) == 0
EC_KEY_check_key(key) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
443 goto
never executed: goto err;
err;
never executed: goto err;
0
444-
445 ok = 1;-
446-
447 err:
code before this statement never executed: err:
0
448 BN_CTX_free(ctx);-
449 EC_POINT_free(point);-
450 return
never executed: return ok;
ok;
never executed: return ok;
0
451-
452}-
453-
454const EC_GROUP *-
455EC_KEY_get0_group(const EC_KEY * key)-
456{-
457 return
executed 1072 times by 3 tests: return key->group;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
key->group;
executed 1072 times by 3 tests: return key->group;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
1072
458}-
459-
460int-
461EC_KEY_set_group(EC_KEY * key, const EC_GROUP * group)-
462{-
463 EC_GROUP_free(key->group);-
464 key->group = EC_GROUP_dup(group);-
465 return
executed 211 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdsatest
  • ssltest
(
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 211 times by 2 tests
Evaluated by:
  • ecdsatest
  • ssltest
key->group ==
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 211 times by 2 tests
Evaluated by:
  • ecdsatest
  • ssltest
executed 211 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdsatest
  • ssltest
0-211
466 ((void *)0)
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 211 times by 2 tests
Evaluated by:
  • ecdsatest
  • ssltest
executed 211 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdsatest
  • ssltest
0-211
467 )
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 211 times by 2 tests
Evaluated by:
  • ecdsatest
  • ssltest
? 0 : 1;
executed 211 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdsatest
  • ssltest
0-211
468}-
469-
470const BIGNUM *-
471EC_KEY_get0_private_key(const EC_KEY * key)-
472{-
473 return
executed 181 times by 3 tests: return key->priv_key;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
key->priv_key;
executed 181 times by 3 tests: return key->priv_key;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
181
474}-
475-
476int-
477EC_KEY_set_private_key(EC_KEY * key, const BIGNUM * priv_key)-
478{-
479 BN_clear_free(key->priv_key);-
480 key->priv_key = BN_dup(priv_key);-
481 return
executed 6 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
(
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ecdhtest
key->priv_key ==
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ecdhtest
executed 6 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
0-6
482 ((void *)0)
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ecdhtest
executed 6 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
0-6
483 )
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • ecdhtest
? 0 : 1;
executed 6 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
0-6
484}-
485-
486const EC_POINT *-
487EC_KEY_get0_public_key(const EC_KEY * key)-
488{-
489 return
executed 538 times by 3 tests: return key->pub_key;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
key->pub_key;
executed 538 times by 3 tests: return key->pub_key;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
538
490}-
491-
492int-
493EC_KEY_set_public_key(EC_KEY * key, const EC_POINT * pub_key)-
494{-
495 EC_POINT_free(key->pub_key);-
496 key->pub_key = EC_POINT_dup(pub_key, key->group);-
497 return
executed 29 times by 2 tests: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
  • ssltest
(
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
key->pub_key ==
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
executed 29 times by 2 tests: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
  • ssltest
0-29
498 ((void *)0)
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
executed 29 times by 2 tests: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
  • ssltest
0-29
499 )
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
? 0 : 1;
executed 29 times by 2 tests: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • ecdhtest
  • ssltest
0-29
500}-
501-
502unsigned int-
503EC_KEY_get_enc_flags(const EC_KEY * key)-
504{-
505 return
never executed: return key->enc_flag;
key->enc_flag;
never executed: return key->enc_flag;
0
506}-
507-
508void-
509EC_KEY_set_enc_flags(EC_KEY * key, unsigned int flags)-
510{-
511 key->enc_flag = flags;-
512}
never executed: end of block
0
513-
514point_conversion_form_t-
515EC_KEY_get_conv_form(const EC_KEY * key)-
516{-
517 return
never executed: return key->conv_form;
key->conv_form;
never executed: return key->conv_form;
0
518}-
519-
520void-
521EC_KEY_set_conv_form(EC_KEY * key, point_conversion_form_t cform)-
522{-
523 key->conv_form = cform;-
524 if (key->group !=
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
525 ((void *)0)
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
526 )-
527 EC_GROUP_set_point_conversion_form(key->group, cform);
never executed: EC_GROUP_set_point_conversion_form(key->group, cform);
0
528}
never executed: end of block
0
529-
530void *-
531EC_KEY_get_key_method_data(EC_KEY *key,-
532 void *(*dup_func) (void *),-
533 void (*free_func) (void *),-
534 void (*clear_free_func) (void *))-
535{-
536 void *ret;-
537-
538 CRYPTO_lock(1|4,33,__FILE__,481);-
539 ret = EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func);-
540 CRYPTO_lock(2|4,33,__FILE__,483);-
541-
542 return
executed 690 times by 3 tests: return ret;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
ret;
executed 690 times by 3 tests: return ret;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
690
543}-
544-
545void *-
546EC_KEY_insert_key_method_data(EC_KEY * key, void *data,-
547 void *(*dup_func) (void *),-
548 void (*free_func) (void *),-
549 void (*clear_free_func) (void *))-
550{-
551 EC_EXTRA_DATA *ex_data;-
552-
553 CRYPTO_lock(1|8,33,__FILE__,496);-
554 ex_data = EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func);-
555 if (ex_data ==
ex_data == ((void *)0)Description
TRUEevaluated 234 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-234
556 ((void *)0)
ex_data == ((void *)0)Description
TRUEevaluated 234 times by 3 tests
Evaluated by:
  • ecdhtest
  • ecdsatest
  • ssltest
FALSEnever evaluated
0-234
557 )-
558 EC_EX_DATA_set_data(&key->method_data, data, dup_func, free_func, clear_free_func);
executed 234 times by 3 tests: EC_EX_DATA_set_data(&key->method_data, data, dup_func, free_func, clear_free_func);
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
234
559 CRYPTO_lock(2|8,33,__FILE__,500);-
560-
561 return
executed 234 times by 3 tests: return ex_data;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
ex_data;
executed 234 times by 3 tests: return ex_data;
Executed by:
  • ecdhtest
  • ecdsatest
  • ssltest
234
562}-
563-
564void-
565EC_KEY_set_asn1_flag(EC_KEY * key, int flag)-
566{-
567 if (key->group !=
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
568 ((void *)0)
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
569 )-
570 EC_GROUP_set_asn1_flag(key->group, flag);
never executed: EC_GROUP_set_asn1_flag(key->group, flag);
0
571}
never executed: end of block
0
572-
573int-
574EC_KEY_precompute_mult(EC_KEY * key, BN_CTX * ctx)-
575{-
576 if (key->group ==
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
577 ((void *)0)
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
578 )-
579 return
never executed: return 0;
0;
never executed: return 0;
0
580 return
never executed: return EC_GROUP_precompute_mult(key->group, ctx);
EC_GROUP_precompute_mult(key->group, ctx);
never executed: return EC_GROUP_precompute_mult(key->group, ctx);
0
581}-
582-
583int-
584EC_KEY_get_flags(const EC_KEY * key)-
585{-
586 return
never executed: return key->flags;
key->flags;
never executed: return key->flags;
0
587}-
588-
589void-
590EC_KEY_set_flags(EC_KEY * key, int flags)-
591{-
592 key->flags |= flags;-
593}
never executed: end of block
0
594-
595void-
596EC_KEY_clear_flags(EC_KEY * key, int flags)-
597{-
598 key->flags &= ~flags;-
599}
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2