Branch Coverage

src/sha.c
Criterion Covered Total %
branch 101 112 90.1


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)
294 104 118 if (s->alg == SHA1) SHA_INIT(s, 1, 1, H32, SHA32);
295 5 113 else if (s->alg == SHA224) SHA_INIT(s, 224, 256, H32, SHA32);
296 54 59 else if (s->alg == SHA256) SHA_INIT(s, 256, 256, H32, SHA32);
297 28 31 else if (s->alg == SHA384) SHA_INIT(s, 384, 512, H64, SHA64);
298 27 4 else if (s->alg == SHA512) SHA_INIT(s, 512, 512, H64, SHA64);
299 2 2 else if (s->alg == SHA512224) SHA_INIT(s, 512224, 512, H64, SHA64);
300 2 0 else if (s->alg == SHA512256) SHA_INIT(s, 512256, 512, H64, SHA64);
308 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 &&
309 5 25 alg != SHA384 && alg != SHA512 &&
3 2 alg != SHA384 && alg != SHA512 &&
310 1 2 alg != SHA512224 && alg != SHA512256)
322 63239 596 while (bitcnt >= s->blocksize) {
327 197 399 if (bitcnt > 0) {
342 39 38 if (s->blockcnt + bitcnt >= s->blocksize) {
362 223891 597 for (i = 0UL; i < bitcnt; i++) {
363 223879 12 if (BITSET(bitstr, i))
367 437 223454 if (++s->blockcnt == s->blocksize)
376 13 1231 if (!bitcnt)
378 5 1226 if (SHA_LO32(s->lenll += bitcnt) < bitcnt)
379 0 5 if (SHA_LO32(++s->lenlh) == 0)
380 0 0 if (SHA_LO32(++s->lenhl) == 0)
382 557 674 if (s->blockcnt == 0)
384 77 597 else if (s->blockcnt % 8 == 0)
395 140 55 lenpos = s->blocksize == SHA1_BLOCK_BITS ? 448 : 896;
396 140 55 lhpos = s->blocksize == SHA1_BLOCK_BITS ? 56 : 120;
397 140 55 llpos = s->blocksize == SHA1_BLOCK_BITS ? 60 : 124;
399 1223 195 while (s->blockcnt > lenpos)
400 1202 21 if (s->blockcnt < s->blocksize)
404 80993 195 while (s->blockcnt < lenpos)
406 55 140 if (s->blocksize > SHA1_BLOCK_BITS) {
430 0 105 if (HEXLEN((size_t) s->digestlen) >= sizeof(s->hex))
432 2844 105 for (i = 0, h = s->hex; i < s->digestlen; i++) {
450 143 0 if (n < 1 || n > 3)
0 143 if (n < 1 || n > 3)
469 2 9 if (B64LEN((size_t) s->digestlen) >= sizeof(s->base64))
0 11 if (B64LEN((size_t) s->digestlen) >= sizeof(s->base64))
471 132 11 for (n = s->digestlen; n > 3; n -= 3, q += 3) {
487 0 43 if (!shainit(&h->isha, alg))
489 0 43 if (!shainit(&h->osha, alg))
491 32 11 if (keylen <= h->osha.blocksize / 8)
494 0 11 if (!shainit(&ksha, alg))
501 3712 43 for (i = 0; i < h->osha.blocksize / 8; i++)
504 3712 43 for (i = 0; i < h->isha.blocksize / 8; i++)