Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/rsa/rsa_lib.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | - | |||||||||||||||||||
3 | RSA *RSA_new(void) | - | ||||||||||||||||||
4 | { | - | ||||||||||||||||||
5 | return executed 25970 times by 1 test: RSA_new_method(return RSA_new_method( ((void *)0) ); Executed by:
executed 25970 times by 1 test: return RSA_new_method( ((void *)0) ); Executed by:
| 25970 | ||||||||||||||||||
6 | ((void *)0) executed 25970 times by 1 test: return RSA_new_method( ((void *)0) ); Executed by:
| 25970 | ||||||||||||||||||
7 | ); executed 25970 times by 1 test: return RSA_new_method( ((void *)0) ); Executed by:
| 25970 | ||||||||||||||||||
8 | } | - | ||||||||||||||||||
9 | - | |||||||||||||||||||
10 | const RSA_METHOD *RSA_get_method(const RSA *rsa) | - | ||||||||||||||||||
11 | { | - | ||||||||||||||||||
12 | return never executed: rsa->meth;return rsa->meth; never executed: return rsa->meth; | 0 | ||||||||||||||||||
13 | } | - | ||||||||||||||||||
14 | - | |||||||||||||||||||
15 | int RSA_set_method(RSA *rsa, const RSA_METHOD *meth) | - | ||||||||||||||||||
16 | { | - | ||||||||||||||||||
17 | - | |||||||||||||||||||
18 | - | |||||||||||||||||||
19 | - | |||||||||||||||||||
20 | - | |||||||||||||||||||
21 | const RSA_METHOD *mtmp; | - | ||||||||||||||||||
22 | mtmp = rsa->meth; | - | ||||||||||||||||||
23 | if (mtmp->finish
| 0 | ||||||||||||||||||
24 | mtmp->finish(rsa); never executed: mtmp->finish(rsa); | 0 | ||||||||||||||||||
25 | - | |||||||||||||||||||
26 | ENGINE_finish(rsa->engine); | - | ||||||||||||||||||
27 | rsa->engine = | - | ||||||||||||||||||
28 | ((void *)0) | - | ||||||||||||||||||
29 | ; | - | ||||||||||||||||||
30 | - | |||||||||||||||||||
31 | rsa->meth = meth; | - | ||||||||||||||||||
32 | if (meth->init
| 0 | ||||||||||||||||||
33 | meth->init(rsa); never executed: meth->init(rsa); | 0 | ||||||||||||||||||
34 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||
35 | } | - | ||||||||||||||||||
36 | - | |||||||||||||||||||
37 | RSA *RSA_new_method(ENGINE *engine) | - | ||||||||||||||||||
38 | { | - | ||||||||||||||||||
39 | RSA *ret = CRYPTO_zalloc(sizeof(*ret), __FILE__, 52); | - | ||||||||||||||||||
40 | - | |||||||||||||||||||
41 | if (ret ==
| 0-25970 | ||||||||||||||||||
42 | ((void *)0)
| 0-25970 | ||||||||||||||||||
43 | ) { | - | ||||||||||||||||||
44 | ERR_put_error(4,(106),((1|64)),__FILE__,55); | - | ||||||||||||||||||
45 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
46 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
47 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
48 | } | - | ||||||||||||||||||
49 | - | |||||||||||||||||||
50 | ret->references = 1; | - | ||||||||||||||||||
51 | ret->lock = CRYPTO_THREAD_lock_new(); | - | ||||||||||||||||||
52 | if (ret->lock ==
| 0-25970 | ||||||||||||||||||
53 | ((void *)0)
| 0-25970 | ||||||||||||||||||
54 | ) { | - | ||||||||||||||||||
55 | ERR_put_error(4,(106),((1|64)),__FILE__,62); | - | ||||||||||||||||||
56 | CRYPTO_free(ret, __FILE__, 63); | - | ||||||||||||||||||
57 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
58 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
59 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
60 | } | - | ||||||||||||||||||
61 | - | |||||||||||||||||||
62 | ret->meth = RSA_get_default_method(); | - | ||||||||||||||||||
63 | - | |||||||||||||||||||
64 | ret->flags = ret->meth->flags & ~0x0400; | - | ||||||||||||||||||
65 | if (engine
| 0-25970 | ||||||||||||||||||
66 | if (!ENGINE_init(engine)
| 0 | ||||||||||||||||||
67 | ERR_put_error(4,(106),(38),__FILE__,72); | - | ||||||||||||||||||
68 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
69 | } | - | ||||||||||||||||||
70 | ret->engine = engine; | - | ||||||||||||||||||
71 | } never executed: else {end of block | 0 | ||||||||||||||||||
72 | ret->engine = ENGINE_get_default_RSA(); | - | ||||||||||||||||||
73 | } executed 25970 times by 1 test: end of block Executed by:
| 25970 | ||||||||||||||||||
74 | if (ret->engine
| 0-25970 | ||||||||||||||||||
75 | ret->meth = ENGINE_get_RSA(ret->engine); | - | ||||||||||||||||||
76 | if (ret->meth ==
| 0 | ||||||||||||||||||
77 | ((void *)0)
| 0 | ||||||||||||||||||
78 | ) { | - | ||||||||||||||||||
79 | ERR_put_error(4,(106),(38),__FILE__,82); | - | ||||||||||||||||||
80 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
81 | } | - | ||||||||||||||||||
82 | } never executed: end of block | 0 | ||||||||||||||||||
83 | - | |||||||||||||||||||
84 | - | |||||||||||||||||||
85 | ret->flags = ret->meth->flags & ~0x0400; | - | ||||||||||||||||||
86 | if (!CRYPTO_new_ex_data(9, ret, &ret->ex_data)
| 0-25970 | ||||||||||||||||||
87 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
88 | } | - | ||||||||||||||||||
89 | - | |||||||||||||||||||
90 | if ((
| 0-25970 | ||||||||||||||||||
91 | ((void *)0)
| 0-25970 | ||||||||||||||||||
92 | )
| 0-25970 | ||||||||||||||||||
93 | ERR_put_error(4,(106),((6|64)),__FILE__,94); | - | ||||||||||||||||||
94 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
95 | } | - | ||||||||||||||||||
96 | - | |||||||||||||||||||
97 | return executed 25970 times by 1 test: ret;return ret; Executed by:
executed 25970 times by 1 test: return ret; Executed by:
| 25970 | ||||||||||||||||||
98 | - | |||||||||||||||||||
99 | err: | - | ||||||||||||||||||
100 | RSA_free(ret); | - | ||||||||||||||||||
101 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
102 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
103 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
104 | } | - | ||||||||||||||||||
105 | - | |||||||||||||||||||
106 | void RSA_free(RSA *r) | - | ||||||||||||||||||
107 | { | - | ||||||||||||||||||
108 | int i; | - | ||||||||||||||||||
109 | - | |||||||||||||||||||
110 | if (r ==
| 2741-26039 | ||||||||||||||||||
111 | ((void *)0)
| 2741-26039 | ||||||||||||||||||
112 | ) | - | ||||||||||||||||||
113 | return; executed 2741 times by 1 test: return; Executed by:
| 2741 | ||||||||||||||||||
114 | - | |||||||||||||||||||
115 | CRYPTO_DOWN_REF(&r->references, &i, r->lock); | - | ||||||||||||||||||
116 | ; | - | ||||||||||||||||||
117 | if (i > 0
| 69-25970 | ||||||||||||||||||
118 | return; executed 69 times by 1 test: return; Executed by:
| 69 | ||||||||||||||||||
119 | ; | - | ||||||||||||||||||
120 | - | |||||||||||||||||||
121 | if (r->meth !=
| 0-25970 | ||||||||||||||||||
122 | ((void *)0)
| 0-25970 | ||||||||||||||||||
123 | && r->meth->finish !=
| 0-25970 | ||||||||||||||||||
124 | ((void *)0)
| 0-25970 | ||||||||||||||||||
125 | ) | - | ||||||||||||||||||
126 | r->meth->finish(r); executed 25970 times by 1 test: r->meth->finish(r); Executed by:
| 25970 | ||||||||||||||||||
127 | - | |||||||||||||||||||
128 | ENGINE_finish(r->engine); | - | ||||||||||||||||||
129 | - | |||||||||||||||||||
130 | - | |||||||||||||||||||
131 | CRYPTO_free_ex_data(9, r, &r->ex_data); | - | ||||||||||||||||||
132 | - | |||||||||||||||||||
133 | CRYPTO_THREAD_lock_free(r->lock); | - | ||||||||||||||||||
134 | - | |||||||||||||||||||
135 | BN_clear_free(r->n); | - | ||||||||||||||||||
136 | BN_clear_free(r->e); | - | ||||||||||||||||||
137 | BN_clear_free(r->d); | - | ||||||||||||||||||
138 | BN_clear_free(r->p); | - | ||||||||||||||||||
139 | BN_clear_free(r->q); | - | ||||||||||||||||||
140 | BN_clear_free(r->dmp1); | - | ||||||||||||||||||
141 | BN_clear_free(r->dmq1); | - | ||||||||||||||||||
142 | BN_clear_free(r->iqmp); | - | ||||||||||||||||||
143 | RSA_PSS_PARAMS_free(r->pss); | - | ||||||||||||||||||
144 | sk_RSA_PRIME_INFO_pop_free(r->prime_infos, rsa_multip_info_free); | - | ||||||||||||||||||
145 | BN_BLINDING_free(r->blinding); | - | ||||||||||||||||||
146 | BN_BLINDING_free(r->mt_blinding); | - | ||||||||||||||||||
147 | CRYPTO_free(r->bignum_data, __FILE__, 140); | - | ||||||||||||||||||
148 | CRYPTO_free(r, __FILE__, 141); | - | ||||||||||||||||||
149 | } executed 25970 times by 1 test: end of block Executed by:
| 25970 | ||||||||||||||||||
150 | - | |||||||||||||||||||
151 | int RSA_up_ref(RSA *r) | - | ||||||||||||||||||
152 | { | - | ||||||||||||||||||
153 | int i; | - | ||||||||||||||||||
154 | - | |||||||||||||||||||
155 | if (CRYPTO_UP_REF(&r->references, &i, r->lock) <= 0
| 0-69 | ||||||||||||||||||
156 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
157 | - | |||||||||||||||||||
158 | ; | - | ||||||||||||||||||
159 | ; | - | ||||||||||||||||||
160 | return executed 69 times by 1 test: i > 1return i > 1 ? 1 : 0; Executed by:
executed 69 times by 1 test: return i > 1 ? 1 : 0; Executed by:
| 0-69 | ||||||||||||||||||
161 | } | - | ||||||||||||||||||
162 | - | |||||||||||||||||||
163 | int RSA_set_ex_data(RSA *r, int idx, void *arg) | - | ||||||||||||||||||
164 | { | - | ||||||||||||||||||
165 | return never executed: CRYPTO_set_ex_data(&r->ex_data, idx, arg);return CRYPTO_set_ex_data(&r->ex_data, idx, arg); never executed: return CRYPTO_set_ex_data(&r->ex_data, idx, arg); | 0 | ||||||||||||||||||
166 | } | - | ||||||||||||||||||
167 | - | |||||||||||||||||||
168 | void *RSA_get_ex_data(const RSA *r, int idx) | - | ||||||||||||||||||
169 | { | - | ||||||||||||||||||
170 | return never executed: CRYPTO_get_ex_data(&r->ex_data, idx);return CRYPTO_get_ex_data(&r->ex_data, idx); never executed: return CRYPTO_get_ex_data(&r->ex_data, idx); | 0 | ||||||||||||||||||
171 | } | - | ||||||||||||||||||
172 | - | |||||||||||||||||||
173 | int RSA_security_bits(const RSA *rsa) | - | ||||||||||||||||||
174 | { | - | ||||||||||||||||||
175 | int bits = BN_num_bits(rsa->n); | - | ||||||||||||||||||
176 | - | |||||||||||||||||||
177 | if (rsa->version == 1
| 0-8547 | ||||||||||||||||||
178 | - | |||||||||||||||||||
179 | int ex_primes = sk_RSA_PRIME_INFO_num(rsa->prime_infos); | - | ||||||||||||||||||
180 | - | |||||||||||||||||||
181 | if (ex_primes <= 0
| 0 | ||||||||||||||||||
182 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
183 | } never executed: end of block | 0 | ||||||||||||||||||
184 | return executed 8547 times by 1 test: BN_security_bits(bits, -1);return BN_security_bits(bits, -1); Executed by:
executed 8547 times by 1 test: return BN_security_bits(bits, -1); Executed by:
| 8547 | ||||||||||||||||||
185 | } | - | ||||||||||||||||||
186 | - | |||||||||||||||||||
187 | int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) | - | ||||||||||||||||||
188 | { | - | ||||||||||||||||||
189 | - | |||||||||||||||||||
190 | - | |||||||||||||||||||
191 | - | |||||||||||||||||||
192 | - | |||||||||||||||||||
193 | if ((r->n ==
| 0-11 | ||||||||||||||||||
194 | ((void *)0)
| 0-11 | ||||||||||||||||||
195 | && n ==
| 0-11 | ||||||||||||||||||
196 | ((void *)0)
| 0-11 | ||||||||||||||||||
197 | ) | - | ||||||||||||||||||
198 | || (r->e ==
| 0-11 | ||||||||||||||||||
199 | ((void *)0)
| 0-11 | ||||||||||||||||||
200 | && e ==
| 0-11 | ||||||||||||||||||
201 | ((void *)0)
| 0-11 | ||||||||||||||||||
202 | )) | - | ||||||||||||||||||
203 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
204 | - | |||||||||||||||||||
205 | if (n !=
| 0-11 | ||||||||||||||||||
206 | ((void *)0)
| 0-11 | ||||||||||||||||||
207 | ) { | - | ||||||||||||||||||
208 | BN_free(r->n); | - | ||||||||||||||||||
209 | r->n = n; | - | ||||||||||||||||||
210 | } executed 11 times by 1 test: end of block Executed by:
| 11 | ||||||||||||||||||
211 | if (e !=
| 0-11 | ||||||||||||||||||
212 | ((void *)0)
| 0-11 | ||||||||||||||||||
213 | ) { | - | ||||||||||||||||||
214 | BN_free(r->e); | - | ||||||||||||||||||
215 | r->e = e; | - | ||||||||||||||||||
216 | } executed 11 times by 1 test: end of block Executed by:
| 11 | ||||||||||||||||||
217 | if (d !=
| 4-7 | ||||||||||||||||||
218 | ((void *)0)
| 4-7 | ||||||||||||||||||
219 | ) { | - | ||||||||||||||||||
220 | BN_free(r->d); | - | ||||||||||||||||||
221 | r->d = d; | - | ||||||||||||||||||
222 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||||||||
223 | - | |||||||||||||||||||
224 | return executed 11 times by 1 test: 1;return 1; Executed by:
executed 11 times by 1 test: return 1; Executed by:
| 11 | ||||||||||||||||||
225 | } | - | ||||||||||||||||||
226 | - | |||||||||||||||||||
227 | int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) | - | ||||||||||||||||||
228 | { | - | ||||||||||||||||||
229 | - | |||||||||||||||||||
230 | - | |||||||||||||||||||
231 | - | |||||||||||||||||||
232 | if ((r->p ==
| 0-7 | ||||||||||||||||||
233 | ((void *)0)
| 0-7 | ||||||||||||||||||
234 | && p ==
| 0-7 | ||||||||||||||||||
235 | ((void *)0)
| 0-7 | ||||||||||||||||||
236 | ) | - | ||||||||||||||||||
237 | || (r->q ==
| 0-7 | ||||||||||||||||||
238 | ((void *)0)
| 0-7 | ||||||||||||||||||
239 | && q ==
| 0-7 | ||||||||||||||||||
240 | ((void *)0)
| 0-7 | ||||||||||||||||||
241 | )) | - | ||||||||||||||||||
242 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
243 | - | |||||||||||||||||||
244 | if (p !=
| 0-7 | ||||||||||||||||||
245 | ((void *)0)
| 0-7 | ||||||||||||||||||
246 | ) { | - | ||||||||||||||||||
247 | BN_free(r->p); | - | ||||||||||||||||||
248 | r->p = p; | - | ||||||||||||||||||
249 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||||||||
250 | if (q !=
| 0-7 | ||||||||||||||||||
251 | ((void *)0)
| 0-7 | ||||||||||||||||||
252 | ) { | - | ||||||||||||||||||
253 | BN_free(r->q); | - | ||||||||||||||||||
254 | r->q = q; | - | ||||||||||||||||||
255 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||||||||
256 | - | |||||||||||||||||||
257 | return executed 7 times by 1 test: 1;return 1; Executed by:
executed 7 times by 1 test: return 1; Executed by:
| 7 | ||||||||||||||||||
258 | } | - | ||||||||||||||||||
259 | - | |||||||||||||||||||
260 | int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) | - | ||||||||||||||||||
261 | { | - | ||||||||||||||||||
262 | - | |||||||||||||||||||
263 | - | |||||||||||||||||||
264 | - | |||||||||||||||||||
265 | if ((r->dmp1 ==
| 0-7 | ||||||||||||||||||
266 | ((void *)0)
| 0-7 | ||||||||||||||||||
267 | && dmp1 ==
| 0-7 | ||||||||||||||||||
268 | ((void *)0)
| 0-7 | ||||||||||||||||||
269 | ) | - | ||||||||||||||||||
270 | || (r->dmq1 ==
| 0-7 | ||||||||||||||||||
271 | ((void *)0)
| 0-7 | ||||||||||||||||||
272 | && dmq1 ==
| 0-7 | ||||||||||||||||||
273 | ((void *)0)
| 0-7 | ||||||||||||||||||
274 | ) | - | ||||||||||||||||||
275 | || (r->iqmp ==
| 0-7 | ||||||||||||||||||
276 | ((void *)0)
| 0-7 | ||||||||||||||||||
277 | && iqmp ==
| 0-7 | ||||||||||||||||||
278 | ((void *)0)
| 0-7 | ||||||||||||||||||
279 | )) | - | ||||||||||||||||||
280 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
281 | - | |||||||||||||||||||
282 | if (dmp1 !=
| 0-7 | ||||||||||||||||||
283 | ((void *)0)
| 0-7 | ||||||||||||||||||
284 | ) { | - | ||||||||||||||||||
285 | BN_free(r->dmp1); | - | ||||||||||||||||||
286 | r->dmp1 = dmp1; | - | ||||||||||||||||||
287 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||||||||
288 | if (dmq1 !=
| 0-7 | ||||||||||||||||||
289 | ((void *)0)
| 0-7 | ||||||||||||||||||
290 | ) { | - | ||||||||||||||||||
291 | BN_free(r->dmq1); | - | ||||||||||||||||||
292 | r->dmq1 = dmq1; | - | ||||||||||||||||||
293 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||||||||
294 | if (iqmp !=
| 0-7 | ||||||||||||||||||
295 | ((void *)0)
| 0-7 | ||||||||||||||||||
296 | ) { | - | ||||||||||||||||||
297 | BN_free(r->iqmp); | - | ||||||||||||||||||
298 | r->iqmp = iqmp; | - | ||||||||||||||||||
299 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||||||||
300 | - | |||||||||||||||||||
301 | return executed 7 times by 1 test: 1;return 1; Executed by:
executed 7 times by 1 test: return 1; Executed by:
| 7 | ||||||||||||||||||
302 | } | - | ||||||||||||||||||
303 | - | |||||||||||||||||||
304 | - | |||||||||||||||||||
305 | - | |||||||||||||||||||
306 | - | |||||||||||||||||||
307 | - | |||||||||||||||||||
308 | int RSA_set0_multi_prime_params(RSA *r, BIGNUM *primes[], BIGNUM *exps[], | - | ||||||||||||||||||
309 | BIGNUM *coeffs[], int pnum) | - | ||||||||||||||||||
310 | { | - | ||||||||||||||||||
311 | struct stack_st_RSA_PRIME_INFO *prime_infos, *old = | - | ||||||||||||||||||
312 | ((void *)0) | - | ||||||||||||||||||
313 | ; | - | ||||||||||||||||||
314 | RSA_PRIME_INFO *pinfo; | - | ||||||||||||||||||
315 | int i; | - | ||||||||||||||||||
316 | - | |||||||||||||||||||
317 | if (primes ==
| 0-1 | ||||||||||||||||||
318 | ((void *)0)
| 0-1 | ||||||||||||||||||
319 | || exps ==
| 0-1 | ||||||||||||||||||
320 | ((void *)0)
| 0-1 | ||||||||||||||||||
321 | || coeffs ==
| 0-1 | ||||||||||||||||||
322 | ((void *)0)
| 0-1 | ||||||||||||||||||
323 | || pnum == 0
| 0-1 | ||||||||||||||||||
324 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
325 | - | |||||||||||||||||||
326 | prime_infos = sk_RSA_PRIME_INFO_new_reserve( | - | ||||||||||||||||||
327 | ((void *)0) | - | ||||||||||||||||||
328 | , pnum); | - | ||||||||||||||||||
329 | if (prime_infos ==
| 0-1 | ||||||||||||||||||
330 | ((void *)0)
| 0-1 | ||||||||||||||||||
331 | ) | - | ||||||||||||||||||
332 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
333 | - | |||||||||||||||||||
334 | if (r->prime_infos !=
| 0-1 | ||||||||||||||||||
335 | ((void *)0)
| 0-1 | ||||||||||||||||||
336 | ) | - | ||||||||||||||||||
337 | old = r->prime_infos; never executed: old = r->prime_infos; | 0 | ||||||||||||||||||
338 | - | |||||||||||||||||||
339 | for (i = 0; i < pnum
| 1 | ||||||||||||||||||
340 | pinfo = rsa_multip_info_new(); | - | ||||||||||||||||||
341 | if (pinfo ==
| 0-1 | ||||||||||||||||||
342 | ((void *)0)
| 0-1 | ||||||||||||||||||
343 | ) | - | ||||||||||||||||||
344 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
345 | if (primes[i] !=
| 0-1 | ||||||||||||||||||
346 | ((void *)0)
| 0-1 | ||||||||||||||||||
347 | && exps[i] !=
| 0-1 | ||||||||||||||||||
348 | ((void *)0)
| 0-1 | ||||||||||||||||||
349 | && coeffs[i] !=
| 0-1 | ||||||||||||||||||
350 | ((void *)0)
| 0-1 | ||||||||||||||||||
351 | ) { | - | ||||||||||||||||||
352 | BN_free(pinfo->r); | - | ||||||||||||||||||
353 | BN_free(pinfo->d); | - | ||||||||||||||||||
354 | BN_free(pinfo->t); | - | ||||||||||||||||||
355 | pinfo->r = primes[i]; | - | ||||||||||||||||||
356 | pinfo->d = exps[i]; | - | ||||||||||||||||||
357 | pinfo->t = coeffs[i]; | - | ||||||||||||||||||
358 | } executed 1 time by 1 test: else {end of block Executed by:
| 1 | ||||||||||||||||||
359 | rsa_multip_info_free(pinfo); | - | ||||||||||||||||||
360 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
361 | } | - | ||||||||||||||||||
362 | (void)sk_RSA_PRIME_INFO_push(prime_infos, pinfo); | - | ||||||||||||||||||
363 | } executed 1 time by 1 test: end of block Executed by:
| 1 | ||||||||||||||||||
364 | - | |||||||||||||||||||
365 | r->prime_infos = prime_infos; | - | ||||||||||||||||||
366 | - | |||||||||||||||||||
367 | if (!rsa_multip_calc_product(r)
| 0-1 | ||||||||||||||||||
368 | r->prime_infos = old; | - | ||||||||||||||||||
369 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
370 | } | - | ||||||||||||||||||
371 | - | |||||||||||||||||||
372 | if (old !=
| 0-1 | ||||||||||||||||||
373 | ((void *)0)
| 0-1 | ||||||||||||||||||
374 | ) { | - | ||||||||||||||||||
375 | - | |||||||||||||||||||
376 | - | |||||||||||||||||||
377 | - | |||||||||||||||||||
378 | - | |||||||||||||||||||
379 | - | |||||||||||||||||||
380 | - | |||||||||||||||||||
381 | sk_RSA_PRIME_INFO_pop_free(old, rsa_multip_info_free); | - | ||||||||||||||||||
382 | } never executed: end of block | 0 | ||||||||||||||||||
383 | - | |||||||||||||||||||
384 | r->version = 1; | - | ||||||||||||||||||
385 | - | |||||||||||||||||||
386 | return executed 1 time by 1 test: 1;return 1; Executed by:
executed 1 time by 1 test: return 1; Executed by:
| 1 | ||||||||||||||||||
387 | err: | - | ||||||||||||||||||
388 | - | |||||||||||||||||||
389 | sk_RSA_PRIME_INFO_pop_free(prime_infos, rsa_multip_info_free_ex); | - | ||||||||||||||||||
390 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
391 | } | - | ||||||||||||||||||
392 | - | |||||||||||||||||||
393 | void RSA_get0_key(const RSA *r, | - | ||||||||||||||||||
394 | const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) | - | ||||||||||||||||||
395 | { | - | ||||||||||||||||||
396 | if (n !=
| 4-10 | ||||||||||||||||||
397 | ((void *)0)
| 4-10 | ||||||||||||||||||
398 | ) | - | ||||||||||||||||||
399 | * executed 4 times by 1 test: n = r->n;*n = r->n; Executed by:
executed 4 times by 1 test: *n = r->n; Executed by:
| 4 | ||||||||||||||||||
400 | if (e !=
| 0-14 | ||||||||||||||||||
401 | ((void *)0)
| 0-14 | ||||||||||||||||||
402 | ) | - | ||||||||||||||||||
403 | * executed 14 times by 1 test: e = r->e;*e = r->e; Executed by:
executed 14 times by 1 test: *e = r->e; Executed by:
| 14 | ||||||||||||||||||
404 | if (d !=
| 4-10 | ||||||||||||||||||
405 | ((void *)0)
| 4-10 | ||||||||||||||||||
406 | ) | - | ||||||||||||||||||
407 | * executed 4 times by 1 test: d = r->d;*d = r->d; Executed by:
executed 4 times by 1 test: *d = r->d; Executed by:
| 4 | ||||||||||||||||||
408 | } executed 14 times by 1 test: end of block Executed by:
| 14 | ||||||||||||||||||
409 | - | |||||||||||||||||||
410 | void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) | - | ||||||||||||||||||
411 | { | - | ||||||||||||||||||
412 | if (p !=
| 0 | ||||||||||||||||||
413 | ((void *)0)
| 0 | ||||||||||||||||||
414 | ) | - | ||||||||||||||||||
415 | * never executed: p = r->p;*p = r->p; never executed: *p = r->p; | 0 | ||||||||||||||||||
416 | if (q !=
| 0 | ||||||||||||||||||
417 | ((void *)0)
| 0 | ||||||||||||||||||
418 | ) | - | ||||||||||||||||||
419 | * never executed: q = r->q;*q = r->q; never executed: *q = r->q; | 0 | ||||||||||||||||||
420 | } never executed: end of block | 0 | ||||||||||||||||||
421 | - | |||||||||||||||||||
422 | int RSA_get_multi_prime_extra_count(const RSA *r) | - | ||||||||||||||||||
423 | { | - | ||||||||||||||||||
424 | int pnum; | - | ||||||||||||||||||
425 | - | |||||||||||||||||||
426 | pnum = sk_RSA_PRIME_INFO_num(r->prime_infos); | - | ||||||||||||||||||
427 | if (pnum <= 0
| 0 | ||||||||||||||||||
428 | pnum = 0; never executed: pnum = 0; | 0 | ||||||||||||||||||
429 | return never executed: pnum;return pnum; never executed: return pnum; | 0 | ||||||||||||||||||
430 | } | - | ||||||||||||||||||
431 | - | |||||||||||||||||||
432 | int RSA_get0_multi_prime_factors(const RSA *r, const BIGNUM *primes[]) | - | ||||||||||||||||||
433 | { | - | ||||||||||||||||||
434 | int pnum, i; | - | ||||||||||||||||||
435 | RSA_PRIME_INFO *pinfo; | - | ||||||||||||||||||
436 | - | |||||||||||||||||||
437 | if ((
| 0 | ||||||||||||||||||
438 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
439 | - | |||||||||||||||||||
440 | - | |||||||||||||||||||
441 | - | |||||||||||||||||||
442 | - | |||||||||||||||||||
443 | - | |||||||||||||||||||
444 | for (i = 0; i < pnum
| 0 | ||||||||||||||||||
445 | pinfo = sk_RSA_PRIME_INFO_value(r->prime_infos, i); | - | ||||||||||||||||||
446 | primes[i] = pinfo->r; | - | ||||||||||||||||||
447 | } never executed: end of block | 0 | ||||||||||||||||||
448 | - | |||||||||||||||||||
449 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||
450 | } | - | ||||||||||||||||||
451 | - | |||||||||||||||||||
452 | void RSA_get0_crt_params(const RSA *r, | - | ||||||||||||||||||
453 | const BIGNUM **dmp1, const BIGNUM **dmq1, | - | ||||||||||||||||||
454 | const BIGNUM **iqmp) | - | ||||||||||||||||||
455 | { | - | ||||||||||||||||||
456 | if (dmp1 !=
| 0 | ||||||||||||||||||
457 | ((void *)0)
| 0 | ||||||||||||||||||
458 | ) | - | ||||||||||||||||||
459 | * never executed: dmp1 = r->dmp1;*dmp1 = r->dmp1; never executed: *dmp1 = r->dmp1; | 0 | ||||||||||||||||||
460 | if (dmq1 !=
| 0 | ||||||||||||||||||
461 | ((void *)0)
| 0 | ||||||||||||||||||
462 | ) | - | ||||||||||||||||||
463 | * never executed: dmq1 = r->dmq1;*dmq1 = r->dmq1; never executed: *dmq1 = r->dmq1; | 0 | ||||||||||||||||||
464 | if (iqmp !=
| 0 | ||||||||||||||||||
465 | ((void *)0)
| 0 | ||||||||||||||||||
466 | ) | - | ||||||||||||||||||
467 | * never executed: iqmp = r->iqmp;*iqmp = r->iqmp; never executed: *iqmp = r->iqmp; | 0 | ||||||||||||||||||
468 | } never executed: end of block | 0 | ||||||||||||||||||
469 | - | |||||||||||||||||||
470 | int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[], | - | ||||||||||||||||||
471 | const BIGNUM *coeffs[]) | - | ||||||||||||||||||
472 | { | - | ||||||||||||||||||
473 | int pnum; | - | ||||||||||||||||||
474 | - | |||||||||||||||||||
475 | if ((
| 0 | ||||||||||||||||||
476 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
477 | - | |||||||||||||||||||
478 | - | |||||||||||||||||||
479 | if (exps !=
| 0 | ||||||||||||||||||
480 | ((void *)0)
| 0 | ||||||||||||||||||
481 | || coeffs !=
| 0 | ||||||||||||||||||
482 | ((void *)0)
| 0 | ||||||||||||||||||
483 | ) { | - | ||||||||||||||||||
484 | RSA_PRIME_INFO *pinfo; | - | ||||||||||||||||||
485 | int i; | - | ||||||||||||||||||
486 | - | |||||||||||||||||||
487 | - | |||||||||||||||||||
488 | for (i = 0; i < pnum
| 0 | ||||||||||||||||||
489 | pinfo = sk_RSA_PRIME_INFO_value(r->prime_infos, i); | - | ||||||||||||||||||
490 | if (exps !=
| 0 | ||||||||||||||||||
491 | ((void *)0)
| 0 | ||||||||||||||||||
492 | ) | - | ||||||||||||||||||
493 | exps[i] = pinfo->d; never executed: exps[i] = pinfo->d; | 0 | ||||||||||||||||||
494 | if (coeffs !=
| 0 | ||||||||||||||||||
495 | ((void *)0)
| 0 | ||||||||||||||||||
496 | ) | - | ||||||||||||||||||
497 | coeffs[i] = pinfo->t; never executed: coeffs[i] = pinfo->t; | 0 | ||||||||||||||||||
498 | } never executed: end of block | 0 | ||||||||||||||||||
499 | } never executed: end of block | 0 | ||||||||||||||||||
500 | - | |||||||||||||||||||
501 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||
502 | } | - | ||||||||||||||||||
503 | - | |||||||||||||||||||
504 | const BIGNUM *RSA_get0_n(const RSA *r) | - | ||||||||||||||||||
505 | { | - | ||||||||||||||||||
506 | return never executed: r->n;return r->n; never executed: return r->n; | 0 | ||||||||||||||||||
507 | } | - | ||||||||||||||||||
508 | - | |||||||||||||||||||
509 | const BIGNUM *RSA_get0_e(const RSA *r) | - | ||||||||||||||||||
510 | { | - | ||||||||||||||||||
511 | return never executed: r->e;return r->e; never executed: return r->e; | 0 | ||||||||||||||||||
512 | } | - | ||||||||||||||||||
513 | - | |||||||||||||||||||
514 | const BIGNUM *RSA_get0_d(const RSA *r) | - | ||||||||||||||||||
515 | { | - | ||||||||||||||||||
516 | return never executed: r->d;return r->d; never executed: return r->d; | 0 | ||||||||||||||||||
517 | } | - | ||||||||||||||||||
518 | - | |||||||||||||||||||
519 | const BIGNUM *RSA_get0_p(const RSA *r) | - | ||||||||||||||||||
520 | { | - | ||||||||||||||||||
521 | return never executed: r->p;return r->p; never executed: return r->p; | 0 | ||||||||||||||||||
522 | } | - | ||||||||||||||||||
523 | - | |||||||||||||||||||
524 | const BIGNUM *RSA_get0_q(const RSA *r) | - | ||||||||||||||||||
525 | { | - | ||||||||||||||||||
526 | return never executed: r->q;return r->q; never executed: return r->q; | 0 | ||||||||||||||||||
527 | } | - | ||||||||||||||||||
528 | - | |||||||||||||||||||
529 | const BIGNUM *RSA_get0_dmp1(const RSA *r) | - | ||||||||||||||||||
530 | { | - | ||||||||||||||||||
531 | return never executed: r->dmp1;return r->dmp1; never executed: return r->dmp1; | 0 | ||||||||||||||||||
532 | } | - | ||||||||||||||||||
533 | - | |||||||||||||||||||
534 | const BIGNUM *RSA_get0_dmq1(const RSA *r) | - | ||||||||||||||||||
535 | { | - | ||||||||||||||||||
536 | return never executed: r->dmq1;return r->dmq1; never executed: return r->dmq1; | 0 | ||||||||||||||||||
537 | } | - | ||||||||||||||||||
538 | - | |||||||||||||||||||
539 | const BIGNUM *RSA_get0_iqmp(const RSA *r) | - | ||||||||||||||||||
540 | { | - | ||||||||||||||||||
541 | return never executed: r->iqmp;return r->iqmp; never executed: return r->iqmp; | 0 | ||||||||||||||||||
542 | } | - | ||||||||||||||||||
543 | - | |||||||||||||||||||
544 | void RSA_clear_flags(RSA *r, int flags) | - | ||||||||||||||||||
545 | { | - | ||||||||||||||||||
546 | r->flags &= ~flags; | - | ||||||||||||||||||
547 | } never executed: end of block | 0 | ||||||||||||||||||
548 | - | |||||||||||||||||||
549 | int RSA_test_flags(const RSA *r, int flags) | - | ||||||||||||||||||
550 | { | - | ||||||||||||||||||
551 | return never executed: r->flags & flags;return r->flags & flags; never executed: return r->flags & flags; | 0 | ||||||||||||||||||
552 | } | - | ||||||||||||||||||
553 | - | |||||||||||||||||||
554 | void RSA_set_flags(RSA *r, int flags) | - | ||||||||||||||||||
555 | { | - | ||||||||||||||||||
556 | r->flags |= flags; | - | ||||||||||||||||||
557 | } never executed: end of block | 0 | ||||||||||||||||||
558 | - | |||||||||||||||||||
559 | int RSA_get_version(RSA *r) | - | ||||||||||||||||||
560 | { | - | ||||||||||||||||||
561 | - | |||||||||||||||||||
562 | return never executed: r->version;return r->version; never executed: return r->version; | 0 | ||||||||||||||||||
563 | } | - | ||||||||||||||||||
564 | - | |||||||||||||||||||
565 | ENGINE *RSA_get0_engine(const RSA *r) | - | ||||||||||||||||||
566 | { | - | ||||||||||||||||||
567 | return never executed: r->engine;return r->engine; never executed: return r->engine; | 0 | ||||||||||||||||||
568 | } | - | ||||||||||||||||||
569 | - | |||||||||||||||||||
570 | int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2) | - | ||||||||||||||||||
571 | { | - | ||||||||||||||||||
572 | - | |||||||||||||||||||
573 | if (ctx !=
| 0-4268 | ||||||||||||||||||
574 | ((void *)0)
| 0-4268 | ||||||||||||||||||
575 | && ctx->pmeth !=
| 0-4268 | ||||||||||||||||||
576 | ((void *)0)
| 0-4268 | ||||||||||||||||||
577 | - | |||||||||||||||||||
578 | && ctx->pmeth->pkey_id != 6
| 20-4248 | ||||||||||||||||||
579 | && ctx->pmeth->pkey_id != 912
| 0-20 | ||||||||||||||||||
580 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||
581 | return executed 4268 times by 1 test: EVP_PKEY_CTX_ctrl(ctx, -1, optype, cmd, p1, p2);return EVP_PKEY_CTX_ctrl(ctx, -1, optype, cmd, p1, p2); Executed by:
executed 4268 times by 1 test: return EVP_PKEY_CTX_ctrl(ctx, -1, optype, cmd, p1, p2); Executed by:
| 4268 | ||||||||||||||||||
582 | } | - | ||||||||||||||||||
Switch to Source code | Preprocessed file |