OpenCoverage

rsa_oaep.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/rsa/rsa_oaep.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen,-
4 const unsigned char *from, int flen,-
5 const unsigned char *param, int plen)-
6{-
7 return
executed 3 times by 1 test: return RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen,
executed 3 times by 1 test: return RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
3
8 param, plen,
executed 3 times by 1 test: return RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
3
9 ((void *)0)
executed 3 times by 1 test: return RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
3
10 ,
executed 3 times by 1 test: return RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
3
11 ((void *)0)
executed 3 times by 1 test: return RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
3
12 );
executed 3 times by 1 test: return RSA_padding_add_PKCS1_OAEP_mgf1(to, tlen, from, flen, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
3
13}-
14-
15int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,-
16 const unsigned char *from, int flen,-
17 const unsigned char *param, int plen,-
18 const EVP_MD *md, const EVP_MD *mgf1md)-
19{-
20 int rv = 0;-
21 int i, emlen = tlen - 1;-
22 unsigned char *db, *seed;-
23 unsigned char *dbmask = -
24 ((void *)0)-
25 ;-
26 unsigned char seedmask[64];-
27 int mdlen, dbmask_len = 0;-
28-
29 if (md ==
md == ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-3
30 ((void *)0)
md == ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
2-3
31 )-
32 md = EVP_sha1();
executed 3 times by 1 test: md = EVP_sha1();
Executed by:
  • libcrypto.so.1.1
3
33 if (mgf1md ==
mgf1md == ((void *)0)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-5
34 ((void *)0)
mgf1md == ((void *)0)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-5
35 )-
36 mgf1md = md;
executed 5 times by 1 test: mgf1md = md;
Executed by:
  • libcrypto.so.1.1
5
37-
38 mdlen = EVP_MD_size(md);-
39-
40 if (flen > emlen - 2 * mdlen - 1
flen > emlen - 2 * mdlen - 1Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-5
41 ERR_put_error(4,(154),(110),__FILE__,62)-
42 ;-
43 return
never executed: return 0;
0;
never executed: return 0;
0
44 }-
45-
46 if (emlen < 2 * mdlen + 1
emlen < 2 * mdlen + 1Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-5
47 ERR_put_error(4,(154),(120),__FILE__,68)-
48 ;-
49 return
never executed: return 0;
0;
never executed: return 0;
0
50 }-
51-
52 to[0] = 0;-
53 seed = to + 1;-
54 db = to + mdlen + 1;-
55-
56 if (!EVP_Digest((void *)param, plen, db,
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5
57 ((void *)0)
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5
58 , md,
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5
59 ((void *)0)
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5
60 )
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-5
61 goto
never executed: goto err;
err;
never executed: goto err;
0
62 memset(db + mdlen, 0, emlen - flen - 2 * mdlen - 1);-
63 db[emlen - flen - mdlen - 1] = 0x01;-
64 memcpy(db + emlen - flen - mdlen, from, (unsigned int)flen);-
65 if (RAND_bytes(seed, mdlen) <= 0
RAND_bytes(seed, mdlen) <= 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-5
66 goto
never executed: goto err;
err;
never executed: goto err;
0
67-
68 dbmask_len = emlen - mdlen;-
69 dbmask = CRYPTO_malloc(dbmask_len, __FILE__, 85);-
70 if (dbmask ==
dbmask == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5
71 ((void *)0)
dbmask == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5
72 ) {-
73 ERR_put_error(4,(154),((1|64)),__FILE__,87);-
74 goto
never executed: goto err;
err;
never executed: goto err;
0
75 }-
76-
77 if (PKCS1_MGF1(dbmask, dbmask_len, seed, mdlen, mgf1md) < 0
PKCS1_MGF1(dbm...n, mgf1md) < 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-5
78 goto
never executed: goto err;
err;
never executed: goto err;
0
79 for (i = 0; i < dbmask_len
i < dbmask_lenDescription
TRUEevaluated 637 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
5-637
80 db[i] ^= dbmask[i];
executed 637 times by 1 test: db[i] ^= dbmask[i];
Executed by:
  • libcrypto.so.1.1
637
81-
82 if (PKCS1_MGF1(seedmask, mdlen, db, dbmask_len, mgf1md) < 0
PKCS1_MGF1(see...n, mgf1md) < 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-5
83 goto
never executed: goto err;
err;
never executed: goto err;
0
84 for (i = 0; i < mdlen
i < mdlenDescription
TRUEevaluated 112 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 5 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
5-112
85 seed[i] ^= seedmask[i];
executed 112 times by 1 test: seed[i] ^= seedmask[i];
Executed by:
  • libcrypto.so.1.1
112
86 rv = 1;-
87-
88 err:
code before this statement executed 5 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
5
89 OPENSSL_cleanse(seedmask, sizeof(seedmask));-
90 CRYPTO_clear_free(dbmask, dbmask_len, __FILE__, 104);-
91 return
executed 5 times by 1 test: return rv;
Executed by:
  • libcrypto.so.1.1
rv;
executed 5 times by 1 test: return rv;
Executed by:
  • libcrypto.so.1.1
5
92}-
93-
94int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,-
95 const unsigned char *from, int flen, int num,-
96 const unsigned char *param, int plen)-
97{-
98 return
executed 490 times by 1 test: return RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num,
executed 490 times by 1 test: return RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
490
99 param, plen,
executed 490 times by 1 test: return RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
490
100 ((void *)0)
executed 490 times by 1 test: return RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
490
101 ,
executed 490 times by 1 test: return RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
490
102 ((void *)0)
executed 490 times by 1 test: return RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
490
103 );
executed 490 times by 1 test: return RSA_padding_check_PKCS1_OAEP_mgf1(to, tlen, from, flen, num, param, plen, ((void *)0) , ((void *)0) );
Executed by:
  • libcrypto.so.1.1
490
104}-
105-
106int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,-
107 const unsigned char *from, int flen,-
108 int num, const unsigned char *param,-
109 int plen, const EVP_MD *md,-
110 const EVP_MD *mgf1md)-
111{-
112 int i, dblen = 0, mlen = -1, one_index = 0, msg_index;-
113 unsigned int good, found_one_byte;-
114 const unsigned char *maskedseed, *maskeddb;-
115-
116-
117-
118-
119 unsigned char *db = -
120 ((void *)0)-
121 , *em = -
122 ((void *)0)-
123 , seed[64],-
124 phash[64];-
125 int mdlen;-
126-
127 if (md ==
md == ((void *)0)Description
TRUEevaluated 490 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 64 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
64-490
128 ((void *)0)
md == ((void *)0)Description
TRUEevaluated 490 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 64 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
64-490
129 )-
130 md = EVP_sha1();
executed 490 times by 1 test: md = EVP_sha1();
Executed by:
  • libcrypto.so.1.1
490
131 if (mgf1md ==
mgf1md == ((void *)0)Description
TRUEevaluated 492 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 62 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
62-492
132 ((void *)0)
mgf1md == ((void *)0)Description
TRUEevaluated 492 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 62 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
62-492
133 )-
134 mgf1md = md;
executed 492 times by 1 test: mgf1md = md;
Executed by:
  • libcrypto.so.1.1
492
135-
136 mdlen = EVP_MD_size(md);-
137-
138 if (tlen <= 0
tlen <= 0Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
|| flen <= 0
flen <= 0Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-554
139 return
never executed: return -1;
-1;
never executed: return -1;
0
140 if (num < flen
num < flenDescription
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
|| num < 2 * mdlen + 2
num < 2 * mdlen + 2Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-554
141 goto
never executed: goto decoding_err;
decoding_err;
never executed: goto decoding_err;
0
142-
143 dblen = num - mdlen - 1;-
144 db = CRYPTO_malloc(dblen, __FILE__, 154);-
145 if (db ==
db == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-554
146 ((void *)0)
db == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-554
147 ) {-
148 ERR_put_error(4,(153),((1|64)),__FILE__,156);-
149 goto
never executed: goto cleanup;
cleanup;
never executed: goto cleanup;
0
150 }-
151-
152 if (flen != num
flen != numDescription
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-554
153 em = CRYPTO_zalloc(num, __FILE__, 161);-
154 if (em ==
em == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
155 ((void *)0)
em == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
156 ) {-
157 ERR_put_error(4,(153),((1|64)),__FILE__,164)-
158 ;-
159 goto
never executed: goto cleanup;
cleanup;
never executed: goto cleanup;
0
160 }-
161 memcpy(em + num - flen, from, flen);-
162 from = em;-
163 }
never executed: end of block
0
164-
165-
166-
167-
168-
169-
170 good = constant_time_is_zero(from[0]);-
171-
172 maskedseed = from + 1;-
173 maskeddb = from + 1 + mdlen;-
174-
175 if (PKCS1_MGF1(seed, mdlen, maskeddb, dblen, mgf1md)
PKCS1_MGF1(see...dblen, mgf1md)Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-554
176 goto
never executed: goto cleanup;
cleanup;
never executed: goto cleanup;
0
177 for (i = 0; i < mdlen
i < mdlenDescription
TRUEevaluated 11092 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
554-11092
178 seed[i] ^= maskedseed[i];
executed 11092 times by 1 test: seed[i] ^= maskedseed[i];
Executed by:
  • libcrypto.so.1.1
11092
179-
180 if (PKCS1_MGF1(db, dblen, seed, mdlen, mgf1md)
PKCS1_MGF1(db,...mdlen, mgf1md)Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-554
181 goto
never executed: goto cleanup;
cleanup;
never executed: goto cleanup;
0
182 for (i = 0; i < dblen
i < dblenDescription
TRUEevaluated 44696 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
554-44696
183 db[i] ^= maskeddb[i];
executed 44696 times by 1 test: db[i] ^= maskeddb[i];
Executed by:
  • libcrypto.so.1.1
44696
184-
185 if (!EVP_Digest((void *)param, plen, phash,
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-554
186 ((void *)0)
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-554
187 , md,
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-554
188 ((void *)0)
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-554
189 )
!EVP_Digest((v... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-554
190 goto
never executed: goto cleanup;
cleanup;
never executed: goto cleanup;
0
191-
192 good &= constant_time_is_zero(CRYPTO_memcmp(db, phash, mdlen));-
193-
194 found_one_byte = 0;-
195 for (i = mdlen; i < dblen
i < dblenDescription
TRUEevaluated 33604 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 554 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
554-33604
196-
197-
198-
199 unsigned int equals1 = constant_time_eq(db[i], 1);-
200 unsigned int equals0 = constant_time_is_zero(db[i]);-
201 one_index = constant_time_select_int(~found_one_byte & equals1,-
202 i, one_index);-
203 found_one_byte |= equals1;-
204 good &= (found_one_byte | equals0);-
205 }
executed 33604 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
33604
206-
207 good &= found_one_byte;-
208-
209-
210-
211-
212-
213-
214 if (!good
!goodDescription
TRUEevaluated 485 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 69 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
69-485
215 goto
executed 485 times by 1 test: goto decoding_err;
Executed by:
  • libcrypto.so.1.1
decoding_err;
executed 485 times by 1 test: goto decoding_err;
Executed by:
  • libcrypto.so.1.1
485
216-
217 msg_index = one_index + 1;-
218 mlen = dblen - msg_index;-
219-
220 if (tlen < mlen
tlen < mlenDescription
TRUEnever evaluated
FALSEevaluated 69 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-69
221 ERR_put_error(4,(153),(109),__FILE__,232);-
222 mlen = -1;-
223 }
never executed: end of block
else {
0
224 memcpy(to, db + msg_index, mlen);-
225 goto
executed 69 times by 1 test: goto cleanup;
Executed by:
  • libcrypto.so.1.1
cleanup;
executed 69 times by 1 test: goto cleanup;
Executed by:
  • libcrypto.so.1.1
69
226 }-
227-
228 decoding_err:
code before this statement never executed: decoding_err:
0
229-
230-
231-
232-
233 ERR_put_error(4,(153),(121),__FILE__,245)-
234 ;-
235 cleanup:
code before this statement executed 485 times by 1 test: cleanup:
Executed by:
  • libcrypto.so.1.1
485
236 OPENSSL_cleanse(seed, sizeof(seed));-
237 CRYPTO_clear_free(db, dblen, __FILE__, 248);-
238 CRYPTO_clear_free(em, num, __FILE__, 249);-
239 return
executed 554 times by 1 test: return mlen;
Executed by:
  • libcrypto.so.1.1
mlen;
executed 554 times by 1 test: return mlen;
Executed by:
  • libcrypto.so.1.1
554
240}-
241-
242int PKCS1_MGF1(unsigned char *mask, long len,-
243 const unsigned char *seed, long seedlen, const EVP_MD *dgst)-
244{-
245 long i, outlen = 0;-
246 unsigned char cnt[4];-
247 EVP_MD_CTX *c = EVP_MD_CTX_new();-
248 unsigned char md[64];-
249 int mdlen;-
250 int rv = -1;-
251-
252 if (c ==
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3210 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3210
253 ((void *)0)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3210 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3210
254 )-
255 goto
never executed: goto err;
err;
never executed: goto err;
0
256 mdlen = EVP_MD_size(dgst);-
257 if (mdlen < 0
mdlen < 0Description
TRUEnever evaluated
FALSEevaluated 3210 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-3210
258 goto
never executed: goto err;
err;
never executed: goto err;
0
259 for (i = 0; outlen < len
outlen < lenDescription
TRUEevaluated 17739 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 3210 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
3210-17739
260 cnt[0] = (unsigned char)((i >> 24) & 255);-
261 cnt[1] = (unsigned char)((i >> 16) & 255);-
262 cnt[2] = (unsigned char)((i >> 8)) & 255;-
263 cnt[3] = (unsigned char)(i & 255);-
264 if (!EVP_DigestInit_ex(c, dgst,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 17739 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-17739
265 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 17739 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-17739
266 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 17739 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-17739
267 || !EVP_DigestUpdate(c, seed, seedlen)
!EVP_DigestUpd...seed, seedlen)Description
TRUEnever evaluated
FALSEevaluated 17739 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-17739
268 || !EVP_DigestUpdate(c, cnt, 4)
!EVP_DigestUpdate(c, cnt, 4)Description
TRUEnever evaluated
FALSEevaluated 17739 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-17739
269 goto
never executed: goto err;
err;
never executed: goto err;
0
270 if (outlen + mdlen <= len
outlen + mdlen <= lenDescription
TRUEevaluated 15090 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2649 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
2649-15090
271 if (!EVP_DigestFinal_ex(c, mask + outlen,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 15090 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15090
272 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 15090 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-15090
273 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 15090 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-15090
274 goto
never executed: goto err;
err;
never executed: goto err;
0
275 outlen += mdlen;-
276 }
executed 15090 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
15090
277 if (!EVP_DigestFinal_ex(c, md,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2649 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-2649
278 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2649 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-2649
279 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2649 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-2649
280 goto
never executed: goto err;
err;
never executed: goto err;
0
281 memcpy(mask + outlen, md, len - outlen);-
282 outlen = len;-
283 }
executed 2649 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2649
284 }-
285 rv = 0;-
286 err:
code before this statement executed 3210 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
3210
287 OPENSSL_cleanse(md, sizeof(md));-
288 EVP_MD_CTX_free(c);-
289 return
executed 3210 times by 1 test: return rv;
Executed by:
  • libcrypto.so.1.1
rv;
executed 3210 times by 1 test: return rv;
Executed by:
  • libcrypto.so.1.1
3210
290}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2