OpenCoverage

ec_key.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/ec/ec_key.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5EC_KEY *EC_KEY_new(void)-
6{-
7 return
executed 40669 times by 2 tests: return EC_KEY_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
EC_KEY_new_method(
executed 40669 times by 2 tests: return EC_KEY_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
40669
8 ((void *)0)
executed 40669 times by 2 tests: return EC_KEY_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
40669
9 );
executed 40669 times by 2 tests: return EC_KEY_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
40669
10}-
11-
12EC_KEY *EC_KEY_new_by_curve_name(int nid)-
13{-
14 EC_KEY *ret = EC_KEY_new();-
15 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
16 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
17 )-
18 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
19 ((void *)0)
never executed: return ((void *)0) ;
0
20 ;
never executed: return ((void *)0) ;
0
21 ret->group = EC_GROUP_new_by_curve_name(nid);-
22 if (ret->group ==
ret->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
23 ((void *)0)
ret->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
24 ) {-
25 EC_KEY_free(ret);-
26 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
27 ((void *)0)
never executed: return ((void *)0) ;
0
28 ;
never executed: return ((void *)0) ;
0
29 }-
30 if (ret->meth->set_group !=
ret->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
31 ((void *)0)
ret->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
32 -
33 && ret->meth->set_group(ret, ret->group) == 0
ret->meth->set...t->group) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
34 EC_KEY_free(ret);-
35 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
36 ((void *)0)
never executed: return ((void *)0) ;
0
37 ;
never executed: return ((void *)0) ;
0
38 }-
39 return
executed 4 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 4 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
4
40}-
41-
42void EC_KEY_free(EC_KEY *r)-
43{-
44 int i;-
45-
46 if (r ==
r == ((void *)0)Description
TRUEevaluated 14558 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 42949 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
14558-42949
47 ((void *)0)
r == ((void *)0)Description
TRUEevaluated 14558 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 42949 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
14558-42949
48 )-
49 return;
executed 14558 times by 1 test: return;
Executed by:
  • libcrypto.so.1.1
14558
50-
51 CRYPTO_DOWN_REF(&r->references, &i, r->lock);-
52 ;-
53 if (i > 0
i > 0Description
TRUEevaluated 1859 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 41090 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
1859-41090
54 return;
executed 1859 times by 1 test: return;
Executed by:
  • libcrypto.so.1.1
1859
55 ;-
56-
57 if (r->meth !=
r->meth != ((void *)0)Description
TRUEevaluated 41090 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
0-41090
58 ((void *)0)
r->meth != ((void *)0)Description
TRUEevaluated 41090 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEnever evaluated
0-41090
59 && r->meth->finish !=
r->meth->finish != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 41090 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-41090
60 ((void *)0)
r->meth->finish != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 41090 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-41090
61 )-
62 r->meth->finish(r);
never executed: r->meth->finish(r);
0
63-
64-
65 ENGINE_finish(r->engine);-
66-
67-
68 if (r->group
r->groupDescription
TRUEevaluated 35746 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 5344 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&& r->group->meth->keyfinish
r->group->meth->keyfinishDescription
TRUEnever evaluated
FALSEevaluated 35746 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-35746
69 r->group->meth->keyfinish(r);
never executed: r->group->meth->keyfinish(r);
0
70-
71 CRYPTO_free_ex_data(8, r, &r->ex_data);-
72 CRYPTO_THREAD_lock_free(r->lock);-
73 EC_GROUP_free(r->group);-
74 EC_POINT_free(r->pub_key);-
75 BN_clear_free(r->priv_key);-
76-
77 CRYPTO_clear_free((void *)r, sizeof(EC_KEY), __FILE__, 70);-
78}
executed 41090 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
41090
79-
80EC_KEY *EC_KEY_copy(EC_KEY *dest, const EC_KEY *src)-
81{-
82 if (dest ==
dest == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
83 ((void *)0)
dest == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
84 || src ==
src == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
85 ((void *)0)
src == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
86 ) {-
87 ERR_put_error(16,(178),((3|64)),__FILE__,76);-
88 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
89 ((void *)0)
never executed: return ((void *)0) ;
0
90 ;
never executed: return ((void *)0) ;
0
91 }-
92 if (src->meth != dest->meth
src->meth != dest->methDescription
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-421
93 if (dest->meth->finish !=
dest->meth->fi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
94 ((void *)0)
dest->meth->fi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
95 )-
96 dest->meth->finish(dest);
never executed: dest->meth->finish(dest);
0
97 if (dest->group
dest->groupDescription
TRUEnever evaluated
FALSEnever evaluated
&& dest->group->meth->keyfinish
dest->group->meth->keyfinishDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
98 dest->group->meth->keyfinish(dest);
never executed: dest->group->meth->keyfinish(dest);
0
99-
100 if (ENGINE_finish(dest->engine) == 0
ENGINE_finish(...->engine) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
101 return
never executed: return 0;
0;
never executed: return 0;
0
102 dest->engine = -
103 ((void *)0)-
104 ;-
105-
106 }
never executed: end of block
0
107-
108 if (src->group !=
src->group != ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
109 ((void *)0)
src->group != ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
110 ) {-
111 const EC_METHOD *meth = EC_GROUP_method_of(src->group);-
112-
113 EC_GROUP_free(dest->group);-
114 dest->group = EC_GROUP_new(meth);-
115 if (dest->group ==
dest->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
116 ((void *)0)
dest->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
117 )-
118 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
119 ((void *)0)
never executed: return ((void *)0) ;
0
120 ;
never executed: return ((void *)0) ;
0
121 if (!EC_GROUP_copy(dest->group, src->group)
!EC_GROUP_copy...p, src->group)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-421
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-
126-
127 if (src->pub_key !=
src->pub_key != ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
128 ((void *)0)
src->pub_key != ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
129 ) {-
130 EC_POINT_free(dest->pub_key);-
131 dest->pub_key = EC_POINT_new(src->group);-
132 if (dest->pub_key ==
dest->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
133 ((void *)0)
dest->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
134 )-
135 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
136 ((void *)0)
never executed: return ((void *)0) ;
0
137 ;
never executed: return ((void *)0) ;
0
138 if (!EC_POINT_copy(dest->pub_key, src->pub_key)
!EC_POINT_copy... src->pub_key)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-421
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 }
executed 421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
421
143-
144 if (src->priv_key !=
src->priv_key != ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
145 ((void *)0)
src->priv_key != ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
146 ) {-
147 if (dest->priv_key ==
dest->priv_key == ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
148 ((void *)0)
dest->priv_key == ((void *)0)Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-421
149 ) {-
150 dest->priv_key = BN_new();-
151 if (dest->priv_key ==
dest->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
152 ((void *)0)
dest->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
153 )-
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 }
executed 421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
421
158 if (!BN_copy(dest->priv_key, src->priv_key)
!BN_copy(dest-...src->priv_key)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-421
159 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
160 ((void *)0)
never executed: return ((void *)0) ;
0
161 ;
never executed: return ((void *)0) ;
0
162 if (src->group->meth->keycopy
src->group->meth->keycopyDescription
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
163 && src->group->meth->keycopy(dest, src) == 0
src->group->me...est, src) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
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 }
executed 421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
421
168 }
executed 421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
421
169-
170-
171-
172 dest->enc_flag = src->enc_flag;-
173 dest->conv_form = src->conv_form;-
174 dest->version = src->version;-
175 dest->flags = src->flags;-
176 if (!CRYPTO_dup_ex_data(8,
!CRYPTO_dup_ex...&src->ex_data)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
177 &dest->ex_data, &src->ex_data)
!CRYPTO_dup_ex...&src->ex_data)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-421
178 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
179 ((void *)0)
never executed: return ((void *)0) ;
0
180 ;
never executed: return ((void *)0) ;
0
181-
182 if (src->meth != dest->meth
src->meth != dest->methDescription
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-421
183-
184 if (src->engine !=
src->engine != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
185 ((void *)0)
src->engine != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
186 && ENGINE_init(src->engine) == 0
ENGINE_init(src->engine) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
187 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
188 ((void *)0)
never executed: return ((void *)0) ;
0
189 ;
never executed: return ((void *)0) ;
0
190 dest->engine = src->engine;-
191-
192 dest->meth = src->meth;-
193 }
never executed: end of block
0
194-
195 if (src->meth->copy !=
src->meth->copy != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
196 ((void *)0)
src->meth->copy != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
197 && src->meth->copy(dest, src) == 0
src->meth->cop...est, src) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
198 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
199 ((void *)0)
never executed: return ((void *)0) ;
0
200 ;
never executed: return ((void *)0) ;
0
201-
202 return
executed 421 times by 1 test: return dest;
Executed by:
  • libcrypto.so.1.1
dest;
executed 421 times by 1 test: return dest;
Executed by:
  • libcrypto.so.1.1
421
203}-
204-
205EC_KEY *EC_KEY_dup(const EC_KEY *ec_key)-
206{-
207 EC_KEY *ret = EC_KEY_new_method(ec_key->engine);-
208-
209 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
210 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
211 )-
212 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
213 ((void *)0)
never executed: return ((void *)0) ;
0
214 ;
never executed: return ((void *)0) ;
0
215-
216 if (EC_KEY_copy(ret, ec_key) ==
EC_KEY_copy(re...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
217 ((void *)0)
EC_KEY_copy(re...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
218 ) {-
219 EC_KEY_free(ret);-
220 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
221 ((void *)0)
never executed: return ((void *)0) ;
0
222 ;
never executed: return ((void *)0) ;
0
223 }-
224 return
executed 421 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 421 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
421
225}-
226-
227int EC_KEY_up_ref(EC_KEY *r)-
228{-
229 int i;-
230-
231 if (CRYPTO_UP_REF(&r->references, &i, r->lock) <= 0
CRYPTO_UP_REF(... r->lock) <= 0Description
TRUEnever evaluated
FALSEevaluated 1859 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-1859
232 return
never executed: return 0;
0;
never executed: return 0;
0
233-
234 ;-
235 ;-
236 return
executed 1859 times by 1 test: return ((i > 1) ? 1 : 0);
Executed by:
  • libcrypto.so.1.1
((
(i > 1)Description
TRUEevaluated 1859 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
i > 1)
(i > 1)Description
TRUEevaluated 1859 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
? 1 : 0);
executed 1859 times by 1 test: return ((i > 1) ? 1 : 0);
Executed by:
  • libcrypto.so.1.1
0-1859
237}-
238-
239ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey)-
240{-
241 return
never executed: return eckey->engine;
eckey->engine;
never executed: return eckey->engine;
0
242}-
243-
244int EC_KEY_generate_key(EC_KEY *eckey)-
245{-
246 if (eckey ==
eckey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
247 ((void *)0)
eckey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
248 || eckey->group ==
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
249 ((void *)0)
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
250 ) {-
251 ERR_put_error(16,(179),((3|64)),__FILE__,184);-
252 return
never executed: return 0;
0;
never executed: return 0;
0
253 }-
254 if (eckey->meth->keygen !=
eckey->meth->k...!= ((void *)0)Description
TRUEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1003
255 ((void *)0)
eckey->meth->k...!= ((void *)0)Description
TRUEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1003
256 )-
257 return
executed 1003 times by 1 test: return eckey->meth->keygen(eckey);
Executed by:
  • libcrypto.so.1.1
eckey->meth->keygen(eckey);
executed 1003 times by 1 test: return eckey->meth->keygen(eckey);
Executed by:
  • libcrypto.so.1.1
1003
258 ERR_put_error(16,(179),(152),__FILE__,189);-
259 return
never executed: return 0;
0;
never executed: return 0;
0
260}-
261-
262int ossl_ec_key_gen(EC_KEY *eckey)-
263{-
264 return
executed 1003 times by 1 test: return eckey->group->meth->keygen(eckey);
Executed by:
  • libcrypto.so.1.1
eckey->group->meth->keygen(eckey);
executed 1003 times by 1 test: return eckey->group->meth->keygen(eckey);
Executed by:
  • libcrypto.so.1.1
1003
265}-
266-
267int ec_key_simple_generate_key(EC_KEY *eckey)-
268{-
269 int ok = 0;-
270 BN_CTX *ctx = -
271 ((void *)0)-
272 ;-
273 BIGNUM *priv_key = -
274 ((void *)0)-
275 ;-
276 const BIGNUM *order = -
277 ((void *)0)-
278 ;-
279 EC_POINT *pub_key = -
280 ((void *)0)-
281 ;-
282-
283 if ((
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
ctx = BN_CTX_new()) ==
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
284 ((void *)0)
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
285 )-
286 goto
never executed: goto err;
err;
never executed: goto err;
0
287-
288 if (eckey->priv_key ==
eckey->priv_key == ((void *)0)Description
TRUEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1003
289 ((void *)0)
eckey->priv_key == ((void *)0)Description
TRUEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1003
290 ) {-
291 priv_key = BN_new();-
292 if (priv_key ==
priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
293 ((void *)0)
priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
294 )-
295 goto
never executed: goto err;
err;
never executed: goto err;
0
296 }
executed 1003 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else
1003
297 priv_key = eckey->priv_key;
never executed: priv_key = eckey->priv_key;
0
298-
299 order = EC_GROUP_get0_order(eckey->group);-
300 if (order ==
order == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
301 ((void *)0)
order == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
302 )-
303 goto
never executed: goto err;
err;
never executed: goto err;
0
304-
305 do-
306 if (!BN_priv_rand_range(priv_key, order)
!BN_priv_rand_...iv_key, order)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-1003
307 goto
never executed: goto err;
err;
never executed: goto err;
0
308 while (BN_is_zero(priv_key)
BN_is_zero(priv_key)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) ;
0-1003
309-
310 if (eckey->pub_key ==
eckey->pub_key == ((void *)0)Description
TRUEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1003
311 ((void *)0)
eckey->pub_key == ((void *)0)Description
TRUEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1003
312 ) {-
313 pub_key = EC_POINT_new(eckey->group);-
314 if (pub_key ==
pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
315 ((void *)0)
pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
316 )-
317 goto
never executed: goto err;
err;
never executed: goto err;
0
318 }
executed 1003 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else
1003
319 pub_key = eckey->pub_key;
never executed: pub_key = eckey->pub_key;
0
320-
321 if (!EC_POINT_mul(eckey->group, pub_key, priv_key,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
322 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
323 ,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
324 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
325 , ctx)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-1003
326 goto
never executed: goto err;
err;
never executed: goto err;
0
327-
328 eckey->priv_key = priv_key;-
329 eckey->pub_key = pub_key;-
330-
331 ok = 1;-
332-
333 err:
code before this statement executed 1003 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
1003
334 if (eckey->pub_key ==
eckey->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
335 ((void *)0)
eckey->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1003
336 )-
337 EC_POINT_free(pub_key);
never executed: EC_POINT_free(pub_key);
0
338 if (eckey->priv_key != priv_key
eckey->priv_key != priv_keyDescription
TRUEnever evaluated
FALSEevaluated 1003 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-1003
339 BN_free(priv_key);
never executed: BN_free(priv_key);
0
340 BN_CTX_free(ctx);-
341 return
executed 1003 times by 1 test: return ok;
Executed by:
  • libcrypto.so.1.1
ok;
executed 1003 times by 1 test: return ok;
Executed by:
  • libcrypto.so.1.1
1003
342}-
343-
344int ec_key_simple_generate_public_key(EC_KEY *eckey)-
345{-
346 return
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key,
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
347 ((void *)0)
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
348 ,
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
349
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
350 ((void *)0)
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
351 ,
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
352 ((void *)0)
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
353 );
executed 399 times by 1 test: return EC_POINT_mul(eckey->group, eckey->pub_key, eckey->priv_key, ((void *)0) , ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
399
354}-
355-
356int EC_KEY_check_key(const EC_KEY *eckey)-
357{-
358 if (eckey ==
eckey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 72 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-72
359 ((void *)0)
eckey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 72 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-72
360 || eckey->group ==
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 72 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-72
361 ((void *)0)
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 72 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-72
362 || eckey->pub_key ==
eckey->pub_key == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-71
363 ((void *)0)
eckey->pub_key == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-71
364 ) {-
365 ERR_put_error(16,(177),((3|64)),__FILE__,258);-
366 return
executed 1 time by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
0;
executed 1 time by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
1
367 }-
368-
369 if (eckey->group->meth->keycheck ==
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
370 ((void *)0)
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
371 ) {-
372 ERR_put_error(16,(177),((2|64)),__FILE__,263);-
373 return
never executed: return 0;
0;
never executed: return 0;
0
374 }-
375-
376 return
executed 71 times by 1 test: return eckey->group->meth->keycheck(eckey);
Executed by:
  • libcrypto.so.1.1
eckey->group->meth->keycheck(eckey);
executed 71 times by 1 test: return eckey->group->meth->keycheck(eckey);
Executed by:
  • libcrypto.so.1.1
71
377}-
378-
379int ec_key_simple_check_key(const EC_KEY *eckey)-
380{-
381 int ok = 0;-
382 BN_CTX *ctx = -
383 ((void *)0)-
384 ;-
385 const BIGNUM *order = -
386 ((void *)0)-
387 ;-
388 EC_POINT *point = -
389 ((void *)0)-
390 ;-
391-
392 if (eckey ==
eckey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
393 ((void *)0)
eckey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
394 || eckey->group ==
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
395 ((void *)0)
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
396 || eckey->pub_key ==
eckey->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
397 ((void *)0)
eckey->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
398 ) {-
399 ERR_put_error(16,(258),((3|64)),__FILE__,278);-
400 return
never executed: return 0;
0;
never executed: return 0;
0
401 }-
402-
403 if (EC_POINT_is_at_infinity(eckey->group, eckey->pub_key)
EC_POINT_is_at...ckey->pub_key)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-71
404 ERR_put_error(16,(258),(106),__FILE__,283);-
405 goto
never executed: goto err;
err;
never executed: goto err;
0
406 }-
407-
408 if ((
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
ctx = BN_CTX_new()) ==
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
409 ((void *)0)
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
410 )-
411 goto
never executed: goto err;
err;
never executed: goto err;
0
412 if ((
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
point = EC_POINT_new(eckey->group)) ==
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
413 ((void *)0)
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
414 )-
415 goto
never executed: goto err;
err;
never executed: goto err;
0
416-
417-
418 if (EC_POINT_is_on_curve(eckey->group, eckey->pub_key, ctx) <= 0
EC_POINT_is_on...key, ctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-71
419 ERR_put_error(16,(258),(107),__FILE__,294);-
420 goto
never executed: goto err;
err;
never executed: goto err;
0
421 }-
422-
423 order = eckey->group->order;-
424 if (BN_is_zero(order)
BN_is_zero(order)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-71
425 ERR_put_error(16,(258),(122),__FILE__,300);-
426 goto
never executed: goto err;
err;
never executed: goto err;
0
427 }-
428 if (!EC_POINT_mul(eckey->group, point,
!EC_POINT_mul(...y, order, ctx)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
429 ((void *)0)
!EC_POINT_mul(...y, order, ctx)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-71
430 , eckey->pub_key, order, ctx)
!EC_POINT_mul(...y, order, ctx)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-71
431 ERR_put_error(16,(258),(16),__FILE__,304);-
432 goto
never executed: goto err;
err;
never executed: goto err;
0
433 }-
434 if (!EC_POINT_is_at_infinity(eckey->group, point)
!EC_POINT_is_a...>group, point)Description
TRUEnever evaluated
FALSEevaluated 71 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-71
435 ERR_put_error(16,(258),(130),__FILE__,308);-
436 goto
never executed: goto err;
err;
never executed: goto err;
0
437 }-
438-
439-
440-
441-
442 if (eckey->priv_key !=
eckey->priv_key != ((void *)0)Description
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-70
443 ((void *)0)
eckey->priv_key != ((void *)0)Description
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-70
444 ) {-
445 if (BN_cmp(eckey->priv_key, order) >= 0
BN_cmp(eckey->...y, order) >= 0Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-70
446 ERR_put_error(16,(258),(130),__FILE__,317);-
447 goto
never executed: goto err;
err;
never executed: goto err;
0
448 }-
449 if (!EC_POINT_mul(eckey->group, point, eckey->priv_key,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-70
450
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-70
451 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-70
452 ,
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-70
453 ((void *)0)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-70
454 , ctx)
!EC_POINT_mul(...id *)0) , ctx)Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-70
455 ERR_put_error(16,(258),(16),__FILE__,322);-
456 goto
never executed: goto err;
err;
never executed: goto err;
0
457 }-
458 if (EC_POINT_cmp(eckey->group, point, eckey->pub_key, ctx) != 0
EC_POINT_cmp(e...key, ctx) != 0Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-70
459 ERR_put_error(16,(258),(123),__FILE__,326);-
460 goto
never executed: goto err;
err;
never executed: goto err;
0
461 }-
462 }
executed 70 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
70
463 ok = 1;-
464 err:
code before this statement executed 71 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
71
465 BN_CTX_free(ctx);-
466 EC_POINT_free(point);-
467 return
executed 71 times by 1 test: return ok;
Executed by:
  • libcrypto.so.1.1
ok;
executed 71 times by 1 test: return ok;
Executed by:
  • libcrypto.so.1.1
71
468}-
469-
470int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x,-
471 BIGNUM *y)-
472{-
473 BN_CTX *ctx = -
474 ((void *)0)-
475 ;-
476 BIGNUM *tx, *ty;-
477 EC_POINT *point = -
478 ((void *)0)-
479 ;-
480 int ok = 0;-
481-
482 if (key ==
key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
483 ((void *)0)
key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
484 || key->group ==
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
485 ((void *)0)
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
486 || x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
487 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
488 || y ==
y == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
489 ((void *)0)
y == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
490 ) {-
491 ERR_put_error(16,(229),((3|64)),__FILE__,347)-
492 ;-
493 return
never executed: return 0;
0;
never executed: return 0;
0
494 }-
495 ctx = BN_CTX_new();-
496 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
497 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
498 )-
499 return
never executed: return 0;
0;
never executed: return 0;
0
500-
501 BN_CTX_start(ctx);-
502 point = EC_POINT_new(key->group);-
503-
504 if (point ==
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
505 ((void *)0)
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
506 )-
507 goto
never executed: goto err;
err;
never executed: goto err;
0
508-
509 tx = BN_CTX_get(ctx);-
510 ty = BN_CTX_get(ctx);-
511 if (ty ==
ty == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
512 ((void *)0)
ty == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
513 )-
514 goto
never executed: goto err;
err;
never executed: goto err;
0
515-
516 if (!EC_POINT_set_affine_coordinates(key->group, point, x, y, ctx)
!EC_POINT_set_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
517 goto
never executed: goto err;
err;
never executed: goto err;
0
518 if (!EC_POINT_get_affine_coordinates(key->group, point, tx, ty, ctx)
!EC_POINT_get_..., tx, ty, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
519 goto
never executed: goto err;
err;
never executed: goto err;
0
520-
521-
522-
523-
524-
525 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
526 || (
(BN_cmp(x, key...->field) >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
BN_cmp(x, key->group->field) >= 0)
(BN_cmp(x, key...->field) >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
527 || (
(BN_cmp(y, key...->field) >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
BN_cmp(y, key->group->field) >= 0)
(BN_cmp(y, key...->field) >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
528 ERR_put_error(16,(229),(146),__FILE__,378)-
529 ;-
530 goto
never executed: goto err;
err;
never executed: goto err;
0
531 }-
532-
533 if (!EC_KEY_set_public_key(key, point)
!EC_KEY_set_pu...ey(key, point)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
534 goto
never executed: goto err;
err;
never executed: goto err;
0
535-
536 if (EC_KEY_check_key(key) == 0
EC_KEY_check_key(key) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
537 goto
never executed: goto err;
err;
never executed: goto err;
0
538-
539 ok = 1;-
540-
541 err:
code before this statement never executed: err:
0
542 BN_CTX_end(ctx);-
543 BN_CTX_free(ctx);-
544 EC_POINT_free(point);-
545 return
never executed: return ok;
ok;
never executed: return ok;
0
546-
547}-
548-
549const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key)-
550{-
551 return
executed 44270 times by 2 tests: return key->group;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
key->group;
executed 44270 times by 2 tests: return key->group;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
44270
552}-
553-
554int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group)-
555{-
556 if (key->meth->set_group !=
key->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33141 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-33141
557 ((void *)0)
key->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33141 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-33141
558 && key->meth->set_group(key, group) == 0
key->meth->set...y, group) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
559 return
never executed: return 0;
0;
never executed: return 0;
0
560 EC_GROUP_free(key->group);-
561 key->group = EC_GROUP_dup(group);-
562 return
executed 33141 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
(
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 33141 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
key->group ==
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 33141 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
executed 33141 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-33141
563 ((void *)0)
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 33141 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
executed 33141 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-33141
564 )
(key->group == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 33141 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
? 0 : 1;
executed 33141 times by 2 tests: return (key->group == ((void *)0) ) ? 0 : 1;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-33141
565}-
566-
567const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key)-
568{-
569 return
executed 2404 times by 2 tests: return key->priv_key;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
key->priv_key;
executed 2404 times by 2 tests: return key->priv_key;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
2404
570}-
571-
572int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *priv_key)-
573{-
574 if (key->group ==
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
575 ((void *)0)
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
576 || key->group->meth ==
key->group->me...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
577 ((void *)0)
key->group->me...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
578 )-
579 return
never executed: return 0;
0;
never executed: return 0;
0
580 if (key->group->meth->set_private !=
key->group->me...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
581 ((void *)0)
key->group->me...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
582 -
583 && key->group->meth->set_private(key, priv_key) == 0
key->group->me...priv_key) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
584 return
never executed: return 0;
0;
never executed: return 0;
0
585 if (key->meth->set_private !=
key->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
586 ((void *)0)
key->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
587 -
588 && key->meth->set_private(key, priv_key) == 0
key->meth->set...priv_key) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
589 return
never executed: return 0;
0;
never executed: return 0;
0
590 BN_clear_free(key->priv_key);-
591 key->priv_key = BN_dup(priv_key);-
592 return
executed 3 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
(
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
key->priv_key ==
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
executed 3 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
0-3
593 ((void *)0)
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
executed 3 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
0-3
594 )
(key->priv_key... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
? 0 : 1;
executed 3 times by 1 test: return (key->priv_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
0-3
595}-
596-
597const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key)-
598{-
599 return
executed 7589 times by 2 tests: return key->pub_key;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
key->pub_key;
executed 7589 times by 2 tests: return key->pub_key;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
7589
600}-
601-
602int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub_key)-
603{-
604 if (key->meth->set_public !=
key->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
605 ((void *)0)
key->meth->set...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
0-3
606 -
607 && key->meth->set_public(key, pub_key) == 0
key->meth->set... pub_key) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
608 return
never executed: return 0;
0;
never executed: return 0;
0
609 EC_POINT_free(key->pub_key);-
610 key->pub_key = EC_POINT_dup(pub_key, key->group);-
611 return
executed 3 times by 1 test: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
(
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
key->pub_key ==
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
executed 3 times by 1 test: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
0-3
612 ((void *)0)
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
executed 3 times by 1 test: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
0-3
613 )
(key->pub_key == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • sm2_internal_test
? 0 : 1;
executed 3 times by 1 test: return (key->pub_key == ((void *)0) ) ? 0 : 1;
Executed by:
  • sm2_internal_test
0-3
614}-
615-
616unsigned int EC_KEY_get_enc_flags(const EC_KEY *key)-
617{-
618 return
executed 5 times by 1 test: return key->enc_flag;
Executed by:
  • libcrypto.so.1.1
key->enc_flag;
executed 5 times by 1 test: return key->enc_flag;
Executed by:
  • libcrypto.so.1.1
5
619}-
620-
621void EC_KEY_set_enc_flags(EC_KEY *key, unsigned int flags)-
622{-
623 key->enc_flag = flags;-
624}
executed 5 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
5
625-
626point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key)-
627{-
628 return
executed 1145 times by 1 test: return key->conv_form;
Executed by:
  • libcrypto.so.1.1
key->conv_form;
executed 1145 times by 1 test: return key->conv_form;
Executed by:
  • libcrypto.so.1.1
1145
629}-
630-
631void EC_KEY_set_conv_form(EC_KEY *key, point_conversion_form_t cform)-
632{-
633 key->conv_form = cform;-
634 if (key->group !=
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
635 ((void *)0)
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
636 )-
637 EC_GROUP_set_point_conversion_form(key->group, cform);
never executed: EC_GROUP_set_point_conversion_form(key->group, cform);
0
638}
never executed: end of block
0
639-
640void EC_KEY_set_asn1_flag(EC_KEY *key, int flag)-
641{-
642 if (key->group !=
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
643 ((void *)0)
key->group != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
644 )-
645 EC_GROUP_set_asn1_flag(key->group, flag);
never executed: EC_GROUP_set_asn1_flag(key->group, flag);
0
646}
never executed: end of block
0
647-
648int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx)-
649{-
650 if (key->group ==
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
651 ((void *)0)
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
652 )-
653 return
never executed: return 0;
0;
never executed: return 0;
0
654 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
655}-
656-
657int EC_KEY_get_flags(const EC_KEY *key)-
658{-
659 return
executed 1218 times by 1 test: return key->flags;
Executed by:
  • libcrypto.so.1.1
key->flags;
executed 1218 times by 1 test: return key->flags;
Executed by:
  • libcrypto.so.1.1
1218
660}-
661-
662void EC_KEY_set_flags(EC_KEY *key, int flags)-
663{-
664 key->flags |= flags;-
665}
executed 421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
421
666-
667void EC_KEY_clear_flags(EC_KEY *key, int flags)-
668{-
669 key->flags &= ~flags;-
670}
never executed: end of block
0
671-
672size_t EC_KEY_key2buf(const EC_KEY *key, point_conversion_form_t form,-
673 unsigned char **pbuf, BN_CTX *ctx)-
674{-
675 if (key ==
key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1195 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1195
676 ((void *)0)
key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1195 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1195
677 || key->pub_key ==
key->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1195 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1195
678 ((void *)0)
key->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1195 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1195
679 || key->group ==
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1195 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1195
680 ((void *)0)
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1195 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1195
681 )-
682 return
never executed: return 0;
0;
never executed: return 0;
0
683 return
executed 1195 times by 1 test: return EC_POINT_point2buf(key->group, key->pub_key, form, pbuf, ctx);
Executed by:
  • libcrypto.so.1.1
EC_POINT_point2buf(key->group, key->pub_key, form, pbuf, ctx);
executed 1195 times by 1 test: return EC_POINT_point2buf(key->group, key->pub_key, form, pbuf, ctx);
Executed by:
  • libcrypto.so.1.1
1195
684}-
685-
686int EC_KEY_oct2key(EC_KEY *key, const unsigned char *buf, size_t len,-
687 BN_CTX *ctx)-
688{-
689 if (key ==
key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33906 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-33906
690 ((void *)0)
key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33906 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-33906
691 || key->group ==
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33906 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-33906
692 ((void *)0)
key->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33906 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-33906
693 )-
694 return
never executed: return 0;
0;
never executed: return 0;
0
695 if (key->pub_key ==
key->pub_key == ((void *)0)Description
TRUEevaluated 31262 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2644 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2644-31262
696 ((void *)0)
key->pub_key == ((void *)0)Description
TRUEevaluated 31262 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2644 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2644-31262
697 )-
698 key->pub_key = EC_POINT_new(key->group);
executed 31262 times by 1 test: key->pub_key = EC_POINT_new(key->group);
Executed by:
  • libcrypto.so.1.1
31262
699 if (key->pub_key ==
key->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33906 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-33906
700 ((void *)0)
key->pub_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33906 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-33906
701 )-
702 return
never executed: return 0;
0;
never executed: return 0;
0
703 if (EC_POINT_oct2point(key->group, key->pub_key, buf, len, ctx) == 0
EC_POINT_oct2p...len, ctx) == 0Description
TRUEevaluated 7088 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 26818 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
7088-26818
704 return
executed 7088 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
0;
executed 7088 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
7088
705-
706-
707-
708-
709-
710-
711-
712 if ((
(key->group->m...gs & 0x2) == 0Description
TRUEevaluated 26818 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
key->group->meth->flags & 0x2) == 0
(key->group->m...gs & 0x2) == 0Description
TRUEevaluated 26818 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-26818
713 key->conv_form = (point_conversion_form_t)(buf[0] & ~0x01);
executed 26818 times by 1 test: key->conv_form = (point_conversion_form_t)(buf[0] & ~0x01);
Executed by:
  • libcrypto.so.1.1
26818
714 return
executed 26818 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 26818 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
26818
715}-
716-
717size_t EC_KEY_priv2oct(const EC_KEY *eckey,-
718 unsigned char *buf, size_t len)-
719{-
720 if (eckey->group ==
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
721 ((void *)0)
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
722 || eckey->group->meth ==
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
723 ((void *)0)
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
724 )-
725 return
never executed: return 0;
0;
never executed: return 0;
0
726 if (eckey->group->meth->priv2oct ==
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
727 ((void *)0)
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
728 ) {-
729 ERR_put_error(16,(256),((2|64)),__FILE__,534);-
730 return
never executed: return 0;
0;
never executed: return 0;
0
731 }-
732-
733 return
executed 964 times by 1 test: return eckey->group->meth->priv2oct(eckey, buf, len);
Executed by:
  • libcrypto.so.1.1
eckey->group->meth->priv2oct(eckey, buf, len);
executed 964 times by 1 test: return eckey->group->meth->priv2oct(eckey, buf, len);
Executed by:
  • libcrypto.so.1.1
964
734}-
735-
736size_t ec_key_simple_priv2oct(const EC_KEY *eckey,-
737 unsigned char *buf, size_t len)-
738{-
739 size_t buf_len;-
740-
741 buf_len = (EC_GROUP_order_bits(eckey->group) + 7) / 8;-
742 if (eckey->priv_key ==
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
743 ((void *)0)
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 964 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-964
744 )-
745 return
never executed: return 0;
0;
never executed: return 0;
0
746 if (buf ==
buf == ((void *)0)Description
TRUEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
482
747 ((void *)0)
buf == ((void *)0)Description
TRUEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
482
748 )-
749 return
executed 482 times by 1 test: return buf_len;
Executed by:
  • libcrypto.so.1.1
buf_len;
executed 482 times by 1 test: return buf_len;
Executed by:
  • libcrypto.so.1.1
482
750 else if (len < buf_len
len < buf_lenDescription
TRUEnever evaluated
FALSEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-482
751 return
never executed: return 0;
0;
never executed: return 0;
0
752-
753-
754-
755 if (BN_bn2binpad(eckey->priv_key, buf, buf_len) == -1
BN_bn2binpad(e...buf_len) == -1Description
TRUEevaluated 78 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 404 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
78-404
756 ERR_put_error(16,(260),(100),__FILE__,557);-
757 return
executed 78 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
0;
executed 78 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
78
758 }-
759-
760 return
executed 404 times by 1 test: return buf_len;
Executed by:
  • libcrypto.so.1.1
buf_len;
executed 404 times by 1 test: return buf_len;
Executed by:
  • libcrypto.so.1.1
404
761}-
762-
763int EC_KEY_oct2priv(EC_KEY *eckey, const unsigned char *buf, size_t len)-
764{-
765 if (eckey->group ==
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
766 ((void *)0)
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
767 || eckey->group->meth ==
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
768 ((void *)0)
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
769 )-
770 return
never executed: return 0;
0;
never executed: return 0;
0
771 if (eckey->group->meth->oct2priv ==
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
772 ((void *)0)
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
773 ) {-
774 ERR_put_error(16,(255),((2|64)),__FILE__,569);-
775 return
never executed: return 0;
0;
never executed: return 0;
0
776 }-
777 return
executed 3016 times by 1 test: return eckey->group->meth->oct2priv(eckey, buf, len);
Executed by:
  • libcrypto.so.1.1
eckey->group->meth->oct2priv(eckey, buf, len);
executed 3016 times by 1 test: return eckey->group->meth->oct2priv(eckey, buf, len);
Executed by:
  • libcrypto.so.1.1
3016
778}-
779-
780int ec_key_simple_oct2priv(EC_KEY *eckey, const unsigned char *buf, size_t len)-
781{-
782 if (eckey->priv_key ==
eckey->priv_key == ((void *)0)Description
TRUEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-3016
783 ((void *)0)
eckey->priv_key == ((void *)0)Description
TRUEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-3016
784 )-
785 eckey->priv_key = BN_secure_new();
executed 3016 times by 1 test: eckey->priv_key = BN_secure_new();
Executed by:
  • libcrypto.so.1.1
3016
786 if (eckey->priv_key ==
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
787 ((void *)0)
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
788 ) {-
789 ERR_put_error(16,(259),((1|64)),__FILE__,580);-
790 return
never executed: return 0;
0;
never executed: return 0;
0
791 }-
792 eckey->priv_key = BN_bin2bn(buf, len, eckey->priv_key);-
793 if (eckey->priv_key ==
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
794 ((void *)0)
eckey->priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3016 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3016
795 ) {-
796 ERR_put_error(16,(259),(3),__FILE__,585);-
797 return
never executed: return 0;
0;
never executed: return 0;
0
798 }-
799 return
executed 3016 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 3016 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
3016
800}-
801-
802size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf)-
803{-
804 size_t len;-
805 unsigned char *buf;-
806-
807 len = EC_KEY_priv2oct(eckey, -
808 ((void *)0)-
809 , 0);-
810 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-482
811 return
never executed: return 0;
0;
never executed: return 0;
0
812 if ((
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
buf = CRYPTO_malloc(len, __FILE__, 599)) ==
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-482
813 ((void *)0)
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 482 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-482
814 ) {-
815 ERR_put_error(16,(279),((1|64)),__FILE__,600);-
816 return
never executed: return 0;
0;
never executed: return 0;
0
817 }-
818 len = EC_KEY_priv2oct(eckey, buf, len);-
819 if (len == 0
len == 0Description
TRUEevaluated 78 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 404 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
78-404
820 CRYPTO_free(buf, __FILE__, 605);-
821 return
executed 78 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
0;
executed 78 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
78
822 }-
823 *pbuf = buf;-
824 return
executed 404 times by 1 test: return len;
Executed by:
  • libcrypto.so.1.1
len;
executed 404 times by 1 test: return len;
Executed by:
  • libcrypto.so.1.1
404
825}-
826-
827int EC_KEY_can_sign(const EC_KEY *eckey)-
828{-
829 if (eckey->group ==
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3354 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3354
830 ((void *)0)
eckey->group == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3354 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3354
831 || eckey->group->meth ==
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3354 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3354
832 ((void *)0)
eckey->group->...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3354 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3354
833 -
834 || (
(eckey->group-...->flags & 0x4)Description
TRUEnever evaluated
FALSEevaluated 3354 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
eckey->group->meth->flags & 0x4)
(eckey->group-...->flags & 0x4)Description
TRUEnever evaluated
FALSEevaluated 3354 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-3354
835 return
never executed: return 0;
0;
never executed: return 0;
0
836 return
executed 3354 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 3354 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
3354
837}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2