OpenCoverage

rsa_lib.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/rsa/rsa_lib.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3RSA *RSA_new(void)-
4{-
5 return
executed 25970 times by 1 test: return RSA_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
RSA_new_method(
executed 25970 times by 1 test: return RSA_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
25970
6 ((void *)0)
executed 25970 times by 1 test: return RSA_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
25970
7 );
executed 25970 times by 1 test: return RSA_new_method( ((void *)0) );
Executed by:
  • libcrypto.so.1.1
25970
8}-
9-
10const RSA_METHOD *RSA_get_method(const RSA *rsa)-
11{-
12 return
never executed: return rsa->meth;
rsa->meth;
never executed: return rsa->meth;
0
13}-
14-
15int 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
mtmp->finishDescription
TRUEnever evaluated
FALSEnever evaluated
)
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
meth->initDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
33 meth->init(rsa);
never executed: meth->init(rsa);
0
34 return
never executed: return 1;
1;
never executed: return 1;
0
35}-
36-
37RSA *RSA_new_method(ENGINE *engine)-
38{-
39 RSA *ret = CRYPTO_zalloc(sizeof(*ret), __FILE__, 52);-
40-
41 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25970
42 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
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 ==
ret->lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25970
53 ((void *)0)
ret->lock == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
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
engineDescription
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-25970
66 if (!ENGINE_init(engine)
!ENGINE_init(engine)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
67 ERR_put_error(4,(106),(38),__FILE__,72);-
68 goto
never executed: goto err;
err;
never executed: goto err;
0
69 }-
70 ret->engine = engine;-
71 }
never executed: end of block
else {
0
72 ret->engine = ENGINE_get_default_RSA();-
73 }
executed 25970 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
25970
74 if (ret->engine
ret->engineDescription
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-25970
75 ret->meth = ENGINE_get_RSA(ret->engine);-
76 if (ret->meth ==
ret->meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
77 ((void *)0)
ret->meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
78 ) {-
79 ERR_put_error(4,(106),(38),__FILE__,82);-
80 goto
never executed: goto err;
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)
!CRYPTO_new_ex...&ret->ex_data)Description
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-25970
87 goto
never executed: goto err;
err;
never executed: goto err;
0
88 }-
89-
90 if ((
(ret->meth->in... ((void *)0) )Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
ret->meth->init !=
(ret->meth->in... ((void *)0) )Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-25970
91 ((void *)0)
(ret->meth->in... ((void *)0) )Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-25970
92 )
(ret->meth->in... ((void *)0) )Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
&& !ret->meth->init(ret)
!ret->meth->init(ret)Description
TRUEnever evaluated
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-25970
93 ERR_put_error(4,(106),((6|64)),__FILE__,94);-
94 goto
never executed: goto err;
err;
never executed: goto err;
0
95 }-
96-
97 return
executed 25970 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 25970 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
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-
106void RSA_free(RSA *r)-
107{-
108 int i;-
109-
110 if (r ==
r == ((void *)0)Description
TRUEevaluated 2741 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 26039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2741-26039
111 ((void *)0)
r == ((void *)0)Description
TRUEevaluated 2741 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 26039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2741-26039
112 )-
113 return;
executed 2741 times by 1 test: return;
Executed by:
  • libcrypto.so.1.1
2741
114-
115 CRYPTO_DOWN_REF(&r->references, &i, r->lock);-
116 ;-
117 if (i > 0
i > 0Description
TRUEevaluated 69 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
69-25970
118 return;
executed 69 times by 1 test: return;
Executed by:
  • libcrypto.so.1.1
69
119 ;-
120-
121 if (r->meth !=
r->meth != ((void *)0)Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-25970
122 ((void *)0)
r->meth != ((void *)0)Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-25970
123 && r->meth->finish !=
r->meth->finish != ((void *)0)Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-25970
124 ((void *)0)
r->meth->finish != ((void *)0)Description
TRUEevaluated 25970 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-25970
125 )-
126 r->meth->finish(r);
executed 25970 times by 1 test: r->meth->finish(r);
Executed by:
  • libcrypto.so.1.1
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:
  • libcrypto.so.1.1
25970
150-
151int RSA_up_ref(RSA *r)-
152{-
153 int i;-
154-
155 if (CRYPTO_UP_REF(&r->references, &i, r->lock) <= 0
CRYPTO_UP_REF(... r->lock) <= 0Description
TRUEnever evaluated
FALSEevaluated 69 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-69
156 return
never executed: return 0;
0;
never executed: return 0;
0
157-
158 ;-
159 ;-
160 return
executed 69 times by 1 test: return i > 1 ? 1 : 0;
Executed by:
  • libcrypto.so.1.1
i > 1
i > 1Description
TRUEevaluated 69 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
? 1 : 0;
executed 69 times by 1 test: return i > 1 ? 1 : 0;
Executed by:
  • libcrypto.so.1.1
0-69
161}-
162-
163int RSA_set_ex_data(RSA *r, int idx, void *arg)-
164{-
165 return
never executed: return CRYPTO_set_ex_data(&r->ex_data, idx, arg);
CRYPTO_set_ex_data(&r->ex_data, idx, arg);
never executed: return CRYPTO_set_ex_data(&r->ex_data, idx, arg);
0
166}-
167-
168void *RSA_get_ex_data(const RSA *r, int idx)-
169{-
170 return
never executed: return CRYPTO_get_ex_data(&r->ex_data, idx);
CRYPTO_get_ex_data(&r->ex_data, idx);
never executed: return CRYPTO_get_ex_data(&r->ex_data, idx);
0
171}-
172-
173int RSA_security_bits(const RSA *rsa)-
174{-
175 int bits = BN_num_bits(rsa->n);-
176-
177 if (rsa->version == 1
rsa->version == 1Description
TRUEnever evaluated
FALSEevaluated 8547 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-8547
178-
179 int ex_primes = sk_RSA_PRIME_INFO_num(rsa->prime_infos);-
180-
181 if (ex_primes <= 0
ex_primes <= 0Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(ex_primes + 2...ltip_cap(bits)Description
TRUEnever evaluated
FALSEnever evaluated
ex_primes + 2) > rsa_multip_cap(bits)
(ex_primes + 2...ltip_cap(bits)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
182 return
never executed: return 0;
0;
never executed: return 0;
0
183 }
never executed: end of block
0
184 return
executed 8547 times by 1 test: return BN_security_bits(bits, -1);
Executed by:
  • libcrypto.so.1.1
BN_security_bits(bits, -1);
executed 8547 times by 1 test: return BN_security_bits(bits, -1);
Executed by:
  • libcrypto.so.1.1
8547
185}-
186-
187int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)-
188{-
189-
190-
191-
192-
193 if ((r->n ==
r->n == ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
194 ((void *)0)
r->n == ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
195 && n ==
n == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
196 ((void *)0)
n == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
197 )-
198 || (r->e ==
r->e == ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
199 ((void *)0)
r->e == ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
200 && e ==
e == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
201 ((void *)0)
e == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-11
202 ))-
203 return
never executed: return 0;
0;
never executed: return 0;
0
204-
205 if (n !=
n != ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
206 ((void *)0)
n != ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
207 ) {-
208 BN_free(r->n);-
209 r->n = n;-
210 }
executed 11 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
11
211 if (e !=
e != ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
212 ((void *)0)
e != ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-11
213 ) {-
214 BN_free(r->e);-
215 r->e = e;-
216 }
executed 11 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
11
217 if (d !=
d != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-7
218 ((void *)0)
d != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-7
219 ) {-
220 BN_free(r->d);-
221 r->d = d;-
222 }
executed 7 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
7
223-
224 return
executed 11 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 11 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
11
225}-
226-
227int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)-
228{-
229-
230-
231-
232 if ((r->p ==
r->p == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
233 ((void *)0)
r->p == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
234 && p ==
p == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
235 ((void *)0)
p == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
236 )-
237 || (r->q ==
r->q == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
238 ((void *)0)
r->q == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
239 && q ==
q == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
240 ((void *)0)
q == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
241 ))-
242 return
never executed: return 0;
0;
never executed: return 0;
0
243-
244 if (p !=
p != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
245 ((void *)0)
p != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
246 ) {-
247 BN_free(r->p);-
248 r->p = p;-
249 }
executed 7 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
7
250 if (q !=
q != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
251 ((void *)0)
q != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
252 ) {-
253 BN_free(r->q);-
254 r->q = q;-
255 }
executed 7 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
7
256-
257 return
executed 7 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 7 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
7
258}-
259-
260int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)-
261{-
262-
263-
264-
265 if ((r->dmp1 ==
r->dmp1 == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
266 ((void *)0)
r->dmp1 == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
267 && dmp1 ==
dmp1 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
268 ((void *)0)
dmp1 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
269 )-
270 || (r->dmq1 ==
r->dmq1 == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
271 ((void *)0)
r->dmq1 == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
272 && dmq1 ==
dmq1 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
273 ((void *)0)
dmq1 == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
274 )-
275 || (r->iqmp ==
r->iqmp == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
276 ((void *)0)
r->iqmp == ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
277 && iqmp ==
iqmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
278 ((void *)0)
iqmp == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
279 ))-
280 return
never executed: return 0;
0;
never executed: return 0;
0
281-
282 if (dmp1 !=
dmp1 != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
283 ((void *)0)
dmp1 != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
284 ) {-
285 BN_free(r->dmp1);-
286 r->dmp1 = dmp1;-
287 }
executed 7 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
7
288 if (dmq1 !=
dmq1 != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
289 ((void *)0)
dmq1 != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
290 ) {-
291 BN_free(r->dmq1);-
292 r->dmq1 = dmq1;-
293 }
executed 7 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
7
294 if (iqmp !=
iqmp != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
295 ((void *)0)
iqmp != ((void *)0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-7
296 ) {-
297 BN_free(r->iqmp);-
298 r->iqmp = iqmp;-
299 }
executed 7 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
7
300-
301 return
executed 7 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 7 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
7
302}-
303-
304-
305-
306-
307-
308int 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 ==
primes == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
318 ((void *)0)
primes == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
319 || exps ==
exps == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
320 ((void *)0)
exps == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
321 || coeffs ==
coeffs == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
322 ((void *)0)
coeffs == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
323 || pnum == 0
pnum == 0Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-1
324 return
never executed: return 0;
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 ==
prime_infos == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
330 ((void *)0)
prime_infos == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
331 )-
332 return
never executed: return 0;
0;
never executed: return 0;
0
333-
334 if (r->prime_infos !=
r->prime_infos != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
335 ((void *)0)
r->prime_infos != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
336 )-
337 old = r->prime_infos;
never executed: old = r->prime_infos;
0
338-
339 for (i = 0; i < pnum
i < pnumDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
1
340 pinfo = rsa_multip_info_new();-
341 if (pinfo ==
pinfo == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
342 ((void *)0)
pinfo == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
343 )-
344 goto
never executed: goto err;
err;
never executed: goto err;
0
345 if (primes[i] !=
primes[i] != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1
346 ((void *)0)
primes[i] != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1
347 && exps[i] !=
exps[i] != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1
348 ((void *)0)
exps[i] != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1
349 && coeffs[i] !=
coeffs[i] != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1
350 ((void *)0)
coeffs[i] != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
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: end of block
Executed by:
  • libcrypto.so.1.1
else {
1
359 rsa_multip_info_free(pinfo);-
360 goto
never executed: goto err;
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:
  • libcrypto.so.1.1
1
364-
365 r->prime_infos = prime_infos;-
366-
367 if (!rsa_multip_calc_product(r)
!rsa_multip_calc_product(r)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-1
368 r->prime_infos = old;-
369 goto
never executed: goto err;
err;
never executed: goto err;
0
370 }-
371-
372 if (old !=
old != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
373 ((void *)0)
old != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
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: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 1 time by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1
387 err:-
388-
389 sk_RSA_PRIME_INFO_pop_free(prime_infos, rsa_multip_info_free_ex);-
390 return
never executed: return 0;
0;
never executed: return 0;
0
391}-
392-
393void RSA_get0_key(const RSA *r,-
394 const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)-
395{-
396 if (n !=
n != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-10
397 ((void *)0)
n != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-10
398 )-
399 *
executed 4 times by 1 test: *n = r->n;
Executed by:
  • libcrypto.so.1.1
n = r->n;
executed 4 times by 1 test: *n = r->n;
Executed by:
  • libcrypto.so.1.1
4
400 if (e !=
e != ((void *)0)Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-14
401 ((void *)0)
e != ((void *)0)Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-14
402 )-
403 *
executed 14 times by 1 test: *e = r->e;
Executed by:
  • libcrypto.so.1.1
e = r->e;
executed 14 times by 1 test: *e = r->e;
Executed by:
  • libcrypto.so.1.1
14
404 if (d !=
d != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-10
405 ((void *)0)
d != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-10
406 )-
407 *
executed 4 times by 1 test: *d = r->d;
Executed by:
  • libcrypto.so.1.1
d = r->d;
executed 4 times by 1 test: *d = r->d;
Executed by:
  • libcrypto.so.1.1
4
408}
executed 14 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
14
409-
410void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)-
411{-
412 if (p !=
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
413 ((void *)0)
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
414 )-
415 *
never executed: *p = r->p;
p = r->p;
never executed: *p = r->p;
0
416 if (q !=
q != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
417 ((void *)0)
q != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
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-
422int 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
pnum <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
428 pnum = 0;
never executed: pnum = 0;
0
429 return
never executed: return pnum;
pnum;
never executed: return pnum;
0
430}-
431-
432int RSA_get0_multi_prime_factors(const RSA *r, const BIGNUM *primes[])-
433{-
434 int pnum, i;-
435 RSA_PRIME_INFO *pinfo;-
436-
437 if ((
(pnum = RSA_ge...count(r)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
pnum = RSA_get_multi_prime_extra_count(r)) == 0
(pnum = RSA_ge...count(r)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
438 return
never executed: return 0;
0;
never executed: return 0;
0
439-
440-
441-
442-
443-
444 for (i = 0; i < pnum
i < pnumDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
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: return 1;
1;
never executed: return 1;
0
450}-
451-
452void RSA_get0_crt_params(const RSA *r,-
453 const BIGNUM **dmp1, const BIGNUM **dmq1,-
454 const BIGNUM **iqmp)-
455{-
456 if (dmp1 !=
dmp1 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
457 ((void *)0)
dmp1 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
458 )-
459 *
never executed: *dmp1 = r->dmp1;
dmp1 = r->dmp1;
never executed: *dmp1 = r->dmp1;
0
460 if (dmq1 !=
dmq1 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
461 ((void *)0)
dmq1 != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
462 )-
463 *
never executed: *dmq1 = r->dmq1;
dmq1 = r->dmq1;
never executed: *dmq1 = r->dmq1;
0
464 if (iqmp !=
iqmp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
465 ((void *)0)
iqmp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
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-
470int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[],-
471 const BIGNUM *coeffs[])-
472{-
473 int pnum;-
474-
475 if ((
(pnum = RSA_ge...count(r)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
pnum = RSA_get_multi_prime_extra_count(r)) == 0
(pnum = RSA_ge...count(r)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
476 return
never executed: return 0;
0;
never executed: return 0;
0
477-
478-
479 if (exps !=
exps != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
480 ((void *)0)
exps != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
481 || coeffs !=
coeffs != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
482 ((void *)0)
coeffs != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
483 ) {-
484 RSA_PRIME_INFO *pinfo;-
485 int i;-
486-
487-
488 for (i = 0; i < pnum
i < pnumDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
489 pinfo = sk_RSA_PRIME_INFO_value(r->prime_infos, i);-
490 if (exps !=
exps != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
491 ((void *)0)
exps != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
492 )-
493 exps[i] = pinfo->d;
never executed: exps[i] = pinfo->d;
0
494 if (coeffs !=
coeffs != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
495 ((void *)0)
coeffs != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
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: return 1;
1;
never executed: return 1;
0
502}-
503-
504const BIGNUM *RSA_get0_n(const RSA *r)-
505{-
506 return
never executed: return r->n;
r->n;
never executed: return r->n;
0
507}-
508-
509const BIGNUM *RSA_get0_e(const RSA *r)-
510{-
511 return
never executed: return r->e;
r->e;
never executed: return r->e;
0
512}-
513-
514const BIGNUM *RSA_get0_d(const RSA *r)-
515{-
516 return
never executed: return r->d;
r->d;
never executed: return r->d;
0
517}-
518-
519const BIGNUM *RSA_get0_p(const RSA *r)-
520{-
521 return
never executed: return r->p;
r->p;
never executed: return r->p;
0
522}-
523-
524const BIGNUM *RSA_get0_q(const RSA *r)-
525{-
526 return
never executed: return r->q;
r->q;
never executed: return r->q;
0
527}-
528-
529const BIGNUM *RSA_get0_dmp1(const RSA *r)-
530{-
531 return
never executed: return r->dmp1;
r->dmp1;
never executed: return r->dmp1;
0
532}-
533-
534const BIGNUM *RSA_get0_dmq1(const RSA *r)-
535{-
536 return
never executed: return r->dmq1;
r->dmq1;
never executed: return r->dmq1;
0
537}-
538-
539const BIGNUM *RSA_get0_iqmp(const RSA *r)-
540{-
541 return
never executed: return r->iqmp;
r->iqmp;
never executed: return r->iqmp;
0
542}-
543-
544void RSA_clear_flags(RSA *r, int flags)-
545{-
546 r->flags &= ~flags;-
547}
never executed: end of block
0
548-
549int RSA_test_flags(const RSA *r, int flags)-
550{-
551 return
never executed: return r->flags & flags;
r->flags & flags;
never executed: return r->flags & flags;
0
552}-
553-
554void RSA_set_flags(RSA *r, int flags)-
555{-
556 r->flags |= flags;-
557}
never executed: end of block
0
558-
559int RSA_get_version(RSA *r)-
560{-
561-
562 return
never executed: return r->version;
r->version;
never executed: return r->version;
0
563}-
564-
565ENGINE *RSA_get0_engine(const RSA *r)-
566{-
567 return
never executed: return r->engine;
r->engine;
never executed: return r->engine;
0
568}-
569-
570int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2)-
571{-
572-
573 if (ctx !=
ctx != ((void *)0)Description
TRUEevaluated 4268 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4268
574 ((void *)0)
ctx != ((void *)0)Description
TRUEevaluated 4268 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4268
575 && ctx->pmeth !=
ctx->pmeth != ((void *)0)Description
TRUEevaluated 4268 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4268
576 ((void *)0)
ctx->pmeth != ((void *)0)Description
TRUEevaluated 4268 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-4268
577 -
578 && ctx->pmeth->pkey_id != 6
ctx->pmeth->pkey_id != 6Description
TRUEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4248 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
20-4248
579 && ctx->pmeth->pkey_id != 912
ctx->pmeth->pkey_id != 912Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-20
580 return
never executed: return -1;
-1;
never executed: return -1;
0
581 return
executed 4268 times by 1 test: return EVP_PKEY_CTX_ctrl(ctx, -1, optype, cmd, p1, p2);
Executed by:
  • libcrypto.so.1.1
EVP_PKEY_CTX_ctrl(ctx, -1, optype, cmd, p1, p2);
executed 4268 times by 1 test: return EVP_PKEY_CTX_ctrl(ctx, -1, optype, cmd, p1, p2);
Executed by:
  • libcrypto.so.1.1
4268
582}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2