Branch Coverage

src/sha.c
Criterion Covered Total %
branch 108 126 85.7


line true false branch
93 264752 16547 SHA32_SCHED(W, block);
161 504144 31509 SHA32_SCHED(W, block);
230 10272 2568 for (i = 0; i < 4; i++)
241 700 175 for (i = 0; i < 4; i++)
254 142 57 if (s->alg <= SHA256)
255 1136 142 for (i = 0; i < 8; i++, d += 4)
258 456 57 for (i = 0; i < 8; i++, d += 8) {
272 7 4 if (s->alg <= SHA256)
273 56 7 for (i = 0; i < 8; i++, buf += 4)
276 32 4 for (i = 0; i < 8; i++, buf += 8)
297 104 118 if (s->alg == SHA1) SHA_INIT(s, 1, 1);
104 0 if (s->alg == SHA1) SHA_INIT(s, 1, 1);
298 5 113 else if (s->alg == SHA224) SHA_INIT(s, 224, 256);
5 0 else if (s->alg == SHA224) SHA_INIT(s, 224, 256);
299 54 59 else if (s->alg == SHA256) SHA_INIT(s, 256, 256);
54 0 else if (s->alg == SHA256) SHA_INIT(s, 256, 256);
300 28 31 else if (s->alg == SHA384) SHA_INIT(s, 384, 512);
0 28 else if (s->alg == SHA384) SHA_INIT(s, 384, 512);
301 27 4 else if (s->alg == SHA512) SHA_INIT(s, 512, 512);
0 27 else if (s->alg == SHA512) SHA_INIT(s, 512, 512);
302 2 2 else if (s->alg == SHA512224) SHA_INIT(s, 512224, 512);
0 2 else if (s->alg == SHA512224) SHA_INIT(s, 512224, 512);
303 2 0 else if (s->alg == SHA512256) SHA_INIT(s, 512256, 512);
0 2 else if (s->alg == SHA512256) SHA_INIT(s, 512256, 512);
311 107 48 if (alg != SHA1 && alg != SHA224 && alg != SHA256 &&
102 5 if (alg != SHA1 && alg != SHA224 && alg != SHA256 &&
56 46 if (alg != SHA1 && alg != SHA224 && alg != SHA256 &&
30 26 if (alg != SHA1 && alg != SHA224 && alg != SHA256 &&
312 5 25 alg != SHA384 && alg != SHA512 &&
3 2 alg != SHA384 && alg != SHA512 &&
313 1 2 alg != SHA512224 && alg != SHA512256)
325 63242 600 while (bitcnt >= s->blocksize) {
330 201 399 if (bitcnt > 0) {
345 43 38 if (s->blockcnt + bitcnt >= s->blocksize) {
365 220538 603 for (i = 0UL; i < bitcnt; i++) {
366 220526 12 if (BITSET(bitstr, i))
370 430 220108 if (++s->blockcnt == s->blocksize)
379 13 1241 if (!bitcnt)
381 5 1236 if (SHA_LO32(s->lenll += bitcnt) < bitcnt)
382 0 5 if (SHA_LO32(++s->lenlh) == 0)
383 0 0 if (SHA_LO32(++s->lenhl) == 0)
385 557 684 if (s->blockcnt == 0)
387 81 603 else if (s->blockcnt % 8 == 0)
398 140 55 lenpos = s->blocksize == SHA1_BLOCK_BITS ? 448 : 896;
399 140 55 lhpos = s->blocksize == SHA1_BLOCK_BITS ? 56 : 120;
400 140 55 llpos = s->blocksize == SHA1_BLOCK_BITS ? 60 : 124;
402 1223 195 while (s->blockcnt > lenpos)
403 1202 21 if (s->blockcnt < s->blocksize)
407 80993 195 while (s->blockcnt < lenpos)
409 55 140 if (s->blocksize > SHA1_BLOCK_BITS) {
433 0 105 if (HEXLEN((size_t) s->digestlen) >= sizeof(s->hex))
435 2844 105 for (i = 0, h = s->hex; i < s->digestlen; i++) {
453 143 0 if (n < 1 || n > 3)
0 143 if (n < 1 || n > 3)
472 2 9 if (B64LEN((size_t) s->digestlen) >= sizeof(s->base64))
0 11 if (B64LEN((size_t) s->digestlen) >= sizeof(s->base64))
474 132 11 for (n = s->digestlen; n > 3; n -= 3, q += 3) {
490 0 43 if (!shainit(&h->isha, alg))
492 0 43 if (!shainit(&h->osha, alg))
494 32 11 if (keylen <= h->osha.blocksize / 8)
497 0 11 if (!shainit(&ksha, alg))
504 3712 43 for (i = 0; i < h->osha.blocksize / 8; i++)
507 3712 43 for (i = 0; i < h->isha.blocksize / 8; i++)