OpenCoverage

evp_key.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/evp/evp_key.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5static char prompt_string[80];-
6-
7void-
8EVP_set_pw_prompt(const char *prompt)-
9{-
10 if (prompt ==
prompt == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
11 ((void *)0)
prompt == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
12 )-
13 prompt_string[0] = '\0';
never executed: prompt_string[0] = '\0';
0
14 else {-
15 strlcpy(prompt_string, prompt, sizeof(prompt_string));-
16 }
never executed: end of block
0
17}-
18-
19char *-
20EVP_get_pw_prompt(void)-
21{-
22 if (prompt_string[0] == '\0'
prompt_string[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
23 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
24 ((void *)0)
never executed: return ( ((void *)0) );
0
25 );
never executed: return ( ((void *)0) );
0
26 else-
27 return
never executed: return (prompt_string);
(prompt_string);
never executed: return (prompt_string);
0
28}-
29-
30int-
31EVP_read_pw_string(char *buf, int len, const char *prompt, int verify)-
32{-
33 return
never executed: return EVP_read_pw_string_min(buf, 0, len, prompt, verify);
EVP_read_pw_string_min(buf, 0, len, prompt, verify);
never executed: return EVP_read_pw_string_min(buf, 0, len, prompt, verify);
0
34}-
35-
36int-
37EVP_read_pw_string_min(char *buf, int min, int len, const char *prompt,-
38 int verify)-
39{-
40 int ret;-
41 char buff[-
42 8192-
43 ];-
44 UI *ui;-
45-
46 if (len >
len > 8192Description
TRUEnever evaluated
FALSEnever evaluated
0
47 8192
len > 8192Description
TRUEnever evaluated
FALSEnever evaluated
0
48 )-
49 len =
never executed: len = 8192 ;
0
50 8192
never executed: len = 8192 ;
0
51 ;
never executed: len = 8192 ;
0
52-
53 if (min < 0
min < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| len - 1 < min
len - 1 < minDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
54 return
never executed: return -1;
-1;
never executed: return -1;
0
55 if ((
(prompt == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
prompt ==
(prompt == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
56 ((void *)0)
(prompt == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
57 )
(prompt == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(prompt_string[0] != '\0')Description
TRUEnever evaluated
FALSEnever evaluated
prompt_string[0] != '\0')
(prompt_string[0] != '\0')Description
TRUEnever evaluated
FALSEnever evaluated
)
0
58 prompt = prompt_string;
never executed: prompt = prompt_string;
0
59 ui = UI_new();-
60 if (ui ==
ui == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
61 ((void *)0)
ui == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
62 )-
63 return
never executed: return -1;
-1;
never executed: return -1;
0
64 if (UI_add_input_string(ui, prompt, 0, buf, min, len - 1) < 0
UI_add_input_s..., len - 1) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
65 return
never executed: return -1;
-1;
never executed: return -1;
0
66 if (verify
verifyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
67 if (UI_add_verify_string(ui, prompt, 0, buff, min, len - 1, buf)
UI_add_verify_... - 1, buf) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
68 < 0
UI_add_verify_... - 1, buf) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
69 return
never executed: return -1;
-1;
never executed: return -1;
0
70 }
never executed: end of block
0
71 ret = UI_process(ui);-
72 UI_free(ui);-
73 explicit_bzero(buff, -
74 8192-
75 );-
76 return
never executed: return ret;
ret;
never executed: return ret;
0
77}-
78-
79int-
80EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,-
81 const unsigned char *salt, const unsigned char *data, int datal,-
82 int count, unsigned char *key, unsigned char *iv)-
83{-
84 EVP_MD_CTX c;-
85 unsigned char md_buf[64];-
86 int niv, nkey, addmd = 0;-
87 unsigned int mds = 0, i;-
88 int rv = 0;-
89-
90 nkey = type->key_len;-
91 niv = type->iv_len;-
92-
93 if ((
(size_t)nkey > 64Description
TRUEnever evaluated
FALSEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
size_t)nkey > 64
(size_t)nkey > 64Description
TRUEnever evaluated
FALSEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
0-196
94 ERR_put_error(6,(0xfff),(137),__FILE__,142);-
95 return
never executed: return 0;
0;
never executed: return 0;
0
96 }-
97 if ((
(size_t)niv > 16Description
TRUEnever evaluated
FALSEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
size_t)niv > 16
(size_t)niv > 16Description
TRUEnever evaluated
FALSEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
0-196
98 ERR_put_error(6,(0xfff),(102),__FILE__,146);-
99 return
never executed: return 0;
0;
never executed: return 0;
0
100 }-
101-
102 if (data ==
data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-196
103 ((void *)0)
data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-196
104 )-
105 return
never executed: return (nkey);
(nkey);
never executed: return (nkey);
0
106-
107 EVP_MD_CTX_init(&c);-
108 for (;;) {-
109 if (!EVP_DigestInit_ex(&c, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-376
110 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-376
111 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-376
112 goto
never executed: goto err;
err;
never executed: goto err;
0
113 if (addmd++
addmd++Description
TRUEevaluated 180 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
180-196
114 if (!EVP_DigestUpdate(&c, &(md_buf[0]), mds)
!EVP_DigestUpd..._buf[0]), mds)Description
TRUEnever evaluated
FALSEevaluated 180 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-180
115 goto
never executed: goto err;
err;
never executed: goto err;
0
116 if (!EVP_DigestUpdate(&c, data, datal)
!EVP_DigestUpd..., data, datal)Description
TRUEnever evaluated
FALSEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-376
117 goto
never executed: goto err;
err;
never executed: goto err;
0
118 if (salt !=
salt != ((void *)0)Description
TRUEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-376
119 ((void *)0)
salt != ((void *)0)Description
TRUEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-376
120 )-
121 if (!EVP_DigestUpdate(&c, salt, 8)
!EVP_DigestUpdate(&c, salt, 8)Description
TRUEnever evaluated
FALSEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-376
122 goto
never executed: goto err;
err;
never executed: goto err;
0
123 if (!EVP_DigestFinal_ex(&c, &(md_buf[0]), &mds)
!EVP_DigestFin...buf[0]), &mds)Description
TRUEnever evaluated
FALSEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-376
124 goto
never executed: goto err;
err;
never executed: goto err;
0
125-
126 for (i = 1; i < (unsigned int)count
i < (unsigned int)countDescription
TRUEnever evaluated
FALSEevaluated 376 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
; i++) {
0-376
127 if (!EVP_DigestInit_ex(&c, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
128 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
129 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
130 goto
never executed: goto err;
err;
never executed: goto err;
0
131 if (!EVP_DigestUpdate(&c, &(md_buf[0]), mds)
!EVP_DigestUpd..._buf[0]), mds)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
132 goto
never executed: goto err;
err;
never executed: goto err;
0
133 if (!EVP_DigestFinal_ex(&c, &(md_buf[0]), &mds)
!EVP_DigestFin...buf[0]), &mds)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
134 goto
never executed: goto err;
err;
never executed: goto err;
0
135 }
never executed: end of block
0
136 i = 0;-
137 if (nkey
nkeyDescription
TRUEevaluated 264 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 112 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
112-264
138 for (;;) {-
139 if (nkey == 0
nkey == 0Description
TRUEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 3660 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
196-3660
140 break;
executed 196 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
196
141 if (i == mds
i == mdsDescription
TRUEevaluated 68 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 3592 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
68-3592
142 break;
executed 68 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
68
143 if (key !=
key != ((void *)0)Description
TRUEevaluated 3592 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-3592
144 ((void *)0)
key != ((void *)0)Description
TRUEevaluated 3592 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-3592
145 )-
146 *(
executed 3592 times by 1 test: *(key++) = md_buf[i];
Executed by:
  • libcrypto.so.44.0.1
key++) = md_buf[i];
executed 3592 times by 1 test: *(key++) = md_buf[i];
Executed by:
  • libcrypto.so.44.0.1
3592
147 nkey--;-
148 i++;-
149 }
executed 3592 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
3592
150 }
executed 264 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
264
151 if (niv
nivDescription
TRUEevaluated 320 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 56 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
&& (
(i != mds)Description
TRUEevaluated 172 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 148 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
i != mds)
(i != mds)Description
TRUEevaluated 172 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 148 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
56-320
152 for (;;) {-
153 if (niv == 0
niv == 0Description
TRUEevaluated 152 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 1716 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
152-1716
154 break;
executed 152 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
152
155 if (i == mds
i == mdsDescription
TRUEevaluated 20 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 1696 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
20-1696
156 break;
executed 20 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
20
157 if (iv !=
iv != ((void *)0)Description
TRUEevaluated 1696 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-1696
158 ((void *)0)
iv != ((void *)0)Description
TRUEevaluated 1696 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-1696
159 )-
160 *(
executed 1696 times by 1 test: *(iv++) = md_buf[i];
Executed by:
  • libcrypto.so.44.0.1
iv++) = md_buf[i];
executed 1696 times by 1 test: *(iv++) = md_buf[i];
Executed by:
  • libcrypto.so.44.0.1
1696
161 niv--;-
162 i++;-
163 }
executed 1696 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
1696
164 }
executed 172 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
172
165 if ((
(nkey == 0)Description
TRUEevaluated 308 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 68 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
nkey == 0)
(nkey == 0)Description
TRUEevaluated 308 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 68 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
&& (
(niv == 0)Description
TRUEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 112 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
niv == 0)
(niv == 0)Description
TRUEevaluated 196 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 112 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
68-308
166 break;
executed 196 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
196
167 }
executed 180 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
180
168 rv = type->key_len;-
169-
170err:
code before this statement executed 196 times by 1 test: err:
Executed by:
  • libcrypto.so.44.0.1
196
171 EVP_MD_CTX_cleanup(&c);-
172 explicit_bzero(md_buf, sizeof md_buf);-
173 return
executed 196 times by 1 test: return rv;
Executed by:
  • libcrypto.so.44.0.1
rv;
executed 196 times by 1 test: return rv;
Executed by:
  • libcrypto.so.44.0.1
196
174}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2