OpenCoverage

hkdf.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/hkdf/hkdf.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5int-
6HKDF(uint8_t *out_key, size_t out_len, const EVP_MD *digest,-
7 const uint8_t *secret, size_t secret_len, const uint8_t *salt,-
8 size_t salt_len, const uint8_t *info, size_t info_len)-
9{-
10 uint8_t prk[64];-
11 size_t prk_len;-
12-
13 if (!HKDF_extract(prk, &prk_len, digest, secret, secret_len, salt,
!HKDF_extract(...alt, salt_len)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • hkdftest
0-7
14 salt_len)
!HKDF_extract(...alt, salt_len)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • hkdftest
)
0-7
15 return
never executed: return 0;
0;
never executed: return 0;
0
16 if (!HKDF_expand(out_key, out_len, digest, prk, prk_len, info,
!HKDF_expand(o...nfo, info_len)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • hkdftest
0-7
17 info_len)
!HKDF_expand(o...nfo, info_len)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • hkdftest
)
0-7
18 return
never executed: return 0;
0;
never executed: return 0;
0
19-
20 return
executed 7 times by 1 test: return 1;
Executed by:
  • hkdftest
1;
executed 7 times by 1 test: return 1;
Executed by:
  • hkdftest
7
21}-
22-
23-
24int-
25HKDF_extract(uint8_t *out_key, size_t *out_len,-
26 const EVP_MD *digest, const uint8_t *secret, size_t secret_len,-
27 const uint8_t *salt, size_t salt_len)-
28{-
29 unsigned int len;-
30-
31-
32-
33-
34-
35 if (HMAC(digest, salt, salt_len, secret, secret_len, out_key, &len) ==
HMAC(digest, s...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
0-14
36
HMAC(digest, s...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
0-14
37 ((void *)0)
HMAC(digest, s...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
0-14
38 ) {-
39 ERR_put_error(15,(0xfff),(15),__FILE__,58);-
40 return
never executed: return 0;
0;
never executed: return 0;
0
41 }-
42 *out_len = len;-
43 return
executed 14 times by 1 test: return 1;
Executed by:
  • hkdftest
1;
executed 14 times by 1 test: return 1;
Executed by:
  • hkdftest
14
44}-
45-
46-
47int-
48HKDF_expand(uint8_t *out_key, size_t out_len,-
49 const EVP_MD *digest, const uint8_t *prk, size_t prk_len,-
50 const uint8_t *info, size_t info_len)-
51{-
52 const size_t digest_len = EVP_MD_size(digest);-
53 uint8_t previous[64];-
54 size_t n, done = 0;-
55 unsigned int i;-
56 int ret = 0;-
57 HMAC_CTX hmac;-
58-
59-
60 n = (out_len + digest_len - 1) / digest_len;-
61 if (out_len + digest_len < out_len
out_len + digest_len < out_lenDescription
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
|| n > 255
n > 255Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
) {
0-14
62 ERR_put_error(15,(0xfff),(164),__FILE__,81);-
63 return
never executed: return 0;
0;
never executed: return 0;
0
64 }-
65-
66 HMAC_CTX_init(&hmac);-
67 if (!HMAC_Init_ex(&hmac, prk, prk_len, digest,
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
0-14
68 ((void *)0)
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
0-14
69 )
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
)
0-14
70 goto
never executed: goto out;
out;
never executed: goto out;
0
71-
72 for (i = 0; i < n
i < nDescription
TRUEevaluated 42 times by 1 test
Evaluated by:
  • hkdftest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
; i++) {
14-42
73 uint8_t ctr = i + 1;-
74 size_t todo;-
75-
76 if (i != 0
i != 0Description
TRUEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
&& (!HMAC_Init_ex(&hmac,
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
0-28
77 ((void *)0)
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
0-28
78 , 0,
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
0-28
79 ((void *)0)
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
0-28
80 ,
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
0-28
81 ((void *)0)
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
0-28
82 )
!HMAC_Init_ex(... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
||
0-28
83 !HMAC_Update(&hmac, previous, digest_len)
!HMAC_Update(&...s, digest_len)Description
TRUEnever evaluated
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
))
0-28
84 goto
never executed: goto out;
out;
never executed: goto out;
0
85-
86 if (!HMAC_Update(&hmac, info, info_len)
!HMAC_Update(&...nfo, info_len)Description
TRUEnever evaluated
FALSEevaluated 42 times by 1 test
Evaluated by:
  • hkdftest
||
0-42
87 !HMAC_Update(&hmac, &ctr, 1)
!HMAC_Update(&hmac, &ctr, 1)Description
TRUEnever evaluated
FALSEevaluated 42 times by 1 test
Evaluated by:
  • hkdftest
||
0-42
88 !HMAC_Final(&hmac, previous,
!HMAC_Final(&h... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 42 times by 1 test
Evaluated by:
  • hkdftest
0-42
89 ((void *)0)
!HMAC_Final(&h... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 42 times by 1 test
Evaluated by:
  • hkdftest
0-42
90 )
!HMAC_Final(&h... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 42 times by 1 test
Evaluated by:
  • hkdftest
)
0-42
91 goto
never executed: goto out;
out;
never executed: goto out;
0
92-
93 todo = digest_len;-
94 if (done + todo > out_len
done + todo > out_lenDescription
TRUEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
FALSEevaluated 28 times by 1 test
Evaluated by:
  • hkdftest
)
14-28
95 todo = out_len - done;
executed 14 times by 1 test: todo = out_len - done;
Executed by:
  • hkdftest
14
96-
97 memcpy(out_key + done, previous, todo);-
98 done += todo;-
99 }
executed 42 times by 1 test: end of block
Executed by:
  • hkdftest
42
100-
101 ret = 1;-
102-
103 out:
code before this statement executed 14 times by 1 test: out:
Executed by:
  • hkdftest
14
104 HMAC_CTX_cleanup(&hmac);-
105 if (ret != 1
ret != 1Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • hkdftest
)
0-14
106 ERR_put_error(15,(0xfff),(15),__FILE__,115);
never executed: ERR_put_error(15,(0xfff),(15),__FILE__,115);
0
107 return
executed 14 times by 1 test: return ret;
Executed by:
  • hkdftest
ret;
executed 14 times by 1 test: return ret;
Executed by:
  • hkdftest
14
108}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2