Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | struct hostkeys { | - |
14 | struct hostkey_entry *entries; | - |
15 | u_int num_entries; | - |
16 | }; | - |
17 | | - |
18 | | - |
19 | | - |
20 | static int | - |
21 | extract_salt(const char *s, u_int l, u_char *salt, size_t salt_len) | - |
22 | { | - |
23 | char *p, *b64salt; | - |
24 | u_int b64len; | - |
25 | int ret; | - |
26 | | - |
27 | if (l < sizeof("|1|") - 1TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) { | 0-416 |
28 | debug2("extract_salt: string too short"); | - |
29 | return never executed: return (-1); (-1);never executed: return (-1); | 0 |
30 | } | - |
31 | if ( | - |
32 | (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
__extension__ (__builtin_constant_p (TRUE | evaluated 416 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
33 | sizeof("|1|") - 1TRUE | evaluated 416 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
34 | )TRUE | evaluated 416 times by 1 test | FALSE | never evaluated |
&& ((__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
35 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
36 | )TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
&& strlen (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
37 | sTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
38 | ) < ((size_t) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
39 | sizeof("|1|") - 1TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
40 | ))TRUE | never evaluated | FALSE | never evaluated |
) || (__builtin_constant_p (TRUE | evaluated 416 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
41 | "|1|"TRUE | evaluated 416 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
42 | )TRUE | evaluated 416 times by 1 test | FALSE | never evaluated |
&& strlen (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
43 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
44 | ) < ((size_t) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
45 | sizeof("|1|") - 1TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
46 | ))TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
)) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
47 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
48 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
49 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
50 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
51 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
52 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
53 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
54 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
55 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
56 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
57 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
58 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
59 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
60 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
61 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
62 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
63 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
64 | , TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
65 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
66 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
67 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
68 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
69 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
70 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
71 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
72 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
73 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
74 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
75 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
76 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
77 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
78 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
79 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
80 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
81 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
82 | , TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
83 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
84 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
85 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
86 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
87 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
88 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
89 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
90 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
91 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
92 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( s ))[3] - __s2[3]); TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
93 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( s ))[3] - __s2[3]); | 0-416 |
94 | ))[3] - __s2[3]);TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( s ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
95 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
96 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
97 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
98 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
99 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
100 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
101 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
102 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
103 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
104 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
105 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
106 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
107 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
108 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
109 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
110 | , TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
111 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
112 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
113 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
114 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
115 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
116 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
117 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
118 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
119 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
120 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "|1|" ))[3] - __s2[3]); TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
121 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "|1|" ))[3] - __s2[3]); | 0-416 |
122 | ))[3] - __s2[3]);TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "|1|" ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
123 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
124 | , TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
125 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
126 | )))); }) : strncmp (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
127 | sTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
128 | , TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
129 | "|1|"TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
130 | , TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
131 | sizeof("|1|") - 1TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
132 | ))) TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
133 | != 0TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) { | 0-416 |
134 | debug2("extract_salt: invalid magic identifier"); | - |
135 | return never executed: return (-1); (-1);never executed: return (-1); | 0 |
136 | } | - |
137 | s += sizeof("|1|") - 1; | - |
138 | l -= sizeof("|1|") - 1; | - |
139 | if ((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
p = memchr(s, '|', l)) == TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
140 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
141 | ) { | - |
142 | debug2("extract_salt: missing salt termination character"); | - |
143 | return never executed: return (-1); (-1);never executed: return (-1); | 0 |
144 | } | - |
145 | | - |
146 | b64len = p - s; | - |
147 | | - |
148 | if (b64len == 0TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
|| b64len > 1024TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) { | 0-416 |
149 | debug2("extract_salt: bad encoded salt length %u", b64len); | - |
150 | return never executed: return (-1); (-1);never executed: return (-1); | 0 |
151 | } | - |
152 | b64salt = xmalloc(1 + b64len); | - |
153 | memcpy(b64salt, s, b64len); | - |
154 | b64salt[b64len] = '\0'; | - |
155 | | - |
156 | ret = | - |
157 | __b64_pton | - |
158 | (b64salt,salt,salt_len); | - |
159 | free(b64salt); | - |
160 | if (ret == -1TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) { | 0-416 |
161 | debug2("extract_salt: salt decode error"); | - |
162 | return never executed: return (-1); (-1);never executed: return (-1); | 0 |
163 | } | - |
164 | if (ret != (int)ssh_hmac_bytes(1)TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) { | 0-416 |
165 | debug2("extract_salt: expected salt len %zd, got %d", | - |
166 | ssh_hmac_bytes(1), ret); | - |
167 | return never executed: return (-1); (-1);never executed: return (-1); | 0 |
168 | } | - |
169 | | - |
170 | returnexecuted 416 times by 1 test: return (0); (0);executed 416 times by 1 test: return (0); | 416 |
171 | } | - |
172 | | - |
173 | char * | - |
174 | host_hash(const char *host, const char *name_from_hostfile, u_int src_len) | - |
175 | { | - |
176 | struct ssh_hmac_ctx *ctx; | - |
177 | u_char salt[256], result[256]; | - |
178 | char uu_salt[512], uu_result[512]; | - |
179 | static char encoded[1024]; | - |
180 | u_int len; | - |
181 | | - |
182 | len = ssh_digest_bytes(1); | - |
183 | | - |
184 | if (name_from_hostfile == TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
185 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
186 | ) { | - |
187 | | - |
188 | arc4random_buf(salt, len); | - |
189 | } never executed: end of block else { | 0 |
190 | | - |
191 | if (extract_salt(name_from_hostfile, src_len, salt,TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
192 | sizeof(salt)) == -1TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) | 0-416 |
193 | return never executed: return ( ((void *)0) ); (never executed: return ( ((void *)0) ); | 0 |
194 | ((void *)0) never executed: return ( ((void *)0) ); | 0 |
195 | ); never executed: return ( ((void *)0) ); | 0 |
196 | }executed 416 times by 1 test: end of block | 416 |
197 | | - |
198 | if ((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
ctx = ssh_hmac_start(1)) == TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
199 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
200 | || | - |
201 | ssh_hmac_init(ctx, salt, len) < 0TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
|| | 0-416 |
202 | ssh_hmac_update(ctx, host, strlen(host)) < 0TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
|| | 0-416 |
203 | ssh_hmac_final(ctx, result, sizeof(result))TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) | 0-416 |
204 | fatal("%s: ssh_hmac failed", __func__); never executed: fatal("%s: ssh_hmac failed", __func__); | 0 |
205 | ssh_hmac_free(ctx); | - |
206 | | - |
207 | if ( | - |
208 | __b64_ntopTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
209 | (salt,len,uu_salt,sizeof(uu_salt)) == -1TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
|| | 0-416 |
210 | | - |
211 | __b64_ntopTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
212 | (result,len,uu_result,sizeof(uu_result)) == -1TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
) | 0-416 |
213 | fatal("%s: __b64_ntop failed", __func__); never executed: fatal("%s: __b64_ntop failed", __func__); | 0 |
214 | | - |
215 | snprintf(encoded, sizeof(encoded), "%s%s%c%s", "|1|", uu_salt, | - |
216 | '|', uu_result); | - |
217 | | - |
218 | returnexecuted 416 times by 1 test: return (encoded); (encoded);executed 416 times by 1 test: return (encoded); | 416 |
219 | } | - |
220 | | - |
221 | | - |
222 | | - |
223 | | - |
224 | | - |
225 | | - |
226 | int | - |
227 | hostfile_read_key(char **cpp, u_int *bitsp, struct sshkey *ret) | - |
228 | { | - |
229 | char *cp; | - |
230 | int r; | - |
231 | | - |
232 | | - |
233 | for (cp = *cpp; *TRUE | never evaluated | FALSE | evaluated 90 times by 1 test |
cp == ' 'TRUE | never evaluated | FALSE | evaluated 90 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 90 times by 1 test |
cp == '\t'TRUE | never evaluated | FALSE | evaluated 90 times by 1 test |
; cp++) | 0-90 |
234 | ; never executed: ; | 0 |
235 | | - |
236 | if ((TRUE | evaluated 10 times by 1 test | FALSE | evaluated 80 times by 1 test |
r = sshkey_read(ret, &cp)) != 0TRUE | evaluated 10 times by 1 test | FALSE | evaluated 80 times by 1 test |
) | 10-80 |
237 | returnexecuted 10 times by 1 test: return 0; 0;executed 10 times by 1 test: return 0; | 10 |
238 | | - |
239 | | - |
240 | for (; *TRUE | never evaluated | FALSE | evaluated 80 times by 1 test |
cp == ' 'TRUE | never evaluated | FALSE | evaluated 80 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 80 times by 1 test |
cp == '\t'TRUE | never evaluated | FALSE | evaluated 80 times by 1 test |
; cp++) | 0-80 |
241 | ; never executed: ; | 0 |
242 | | - |
243 | | - |
244 | *cpp = cp; | - |
245 | if (bitsp != TRUE | evaluated 80 times by 1 test | FALSE | never evaluated |
| 0-80 |
246 | ((void *)0)TRUE | evaluated 80 times by 1 test | FALSE | never evaluated |
| 0-80 |
247 | ) | - |
248 | *executed 80 times by 1 test: *bitsp = sshkey_size(ret); bitsp = sshkey_size(ret);executed 80 times by 1 test: *bitsp = sshkey_size(ret); | 80 |
249 | returnexecuted 80 times by 1 test: return 1; 1;executed 80 times by 1 test: return 1; | 80 |
250 | } | - |
251 | | - |
252 | static HostkeyMarker | - |
253 | check_markers(char **cpp) | - |
254 | { | - |
255 | char marker[32], *sp, *cp = *cpp; | - |
256 | int ret = MRK_NONE; | - |
257 | | - |
258 | while (*TRUE | evaluated 72 times by 1 test | FALSE | evaluated 648 times by 1 test |
cp == '@'TRUE | evaluated 72 times by 1 test | FALSE | evaluated 648 times by 1 test |
) { | 72-648 |
259 | | - |
260 | if (ret != MRK_NONETRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
) | 0-72 |
261 | return never executed: return MRK_ERROR; MRK_ERROR;never executed: return MRK_ERROR; | 0 |
262 | | - |
263 | if ((TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
sp = TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
264 | (__extension__ (__builtin_constant_p (TRUE | evaluated 72 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
265 | ' 'TRUE | evaluated 72 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
266 | )TRUE | evaluated 72 times by 1 test | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | evaluated 72 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
267 | cpTRUE | evaluated 72 times by 1 test | FALSE | never evaluated |
TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
268 | )TRUE | evaluated 72 times by 1 test | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
269 | ' 'TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
270 | ) == '\0'TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
? (char *) __rawmemchr (TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
271 | cpTRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
272 | , TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
273 | ' 'TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
274 | ) : __builtin_strchr (TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
275 | cpTRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
276 | , TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
277 | ' 'TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
278 | )))TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
279 | ) == TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
280 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
| 0-72 |
281 | && | - |
282 | (TRUE | never evaluated | FALSE | never evaluated |
sp = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
283 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
284 | '\t'TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
285 | )TRUE | never evaluated | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
286 | cpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
287 | )TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
288 | '\t'TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
289 | ) == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) __rawmemchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
290 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
291 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
292 | '\t'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
293 | ) : __builtin_strchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
294 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
295 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
296 | '\t'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
297 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
298 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
299 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
300 | ) | - |
301 | return never executed: return MRK_ERROR; MRK_ERROR;never executed: return MRK_ERROR; | 0 |
302 | | - |
303 | if (sp <= cp + 1TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
|| sp >= cp + sizeof(marker)TRUE | never evaluated | FALSE | evaluated 72 times by 1 test |
) | 0-72 |
304 | return never executed: return MRK_ERROR; MRK_ERROR;never executed: return MRK_ERROR; | 0 |
305 | memcpy(marker, cp, sp - cp); | - |
306 | marker[sp - cp] = '\0'; | - |
307 | if ( | - |
308 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
309 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
310 | ) && __builtin_constant_p (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
311 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
312 | ) && (__s1_len = __builtin_strlen (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
313 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
314 | ), __s2_len = __builtin_strlen (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
315 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
316 | ), (!((size_t)(const void *)((TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
317 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
318 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
319 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
320 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
321 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
322 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
323 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
324 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
325 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
326 | , TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
327 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
328 | ) : (__builtin_constant_p (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
329 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
330 | ) && ((size_t)(const void *)((TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
331 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
332 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
333 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
334 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
335 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
336 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
337 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
338 | ) && ((size_t)(const void *)((TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
339 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
340 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
341 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
342 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
343 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
344 | , TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
345 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
346 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
347 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
348 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
349 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
350 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
351 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
352 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
353 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
354 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( marker ))[3] - __s2[3]); TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
355 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( marker ))[3] - __s2[3]); | 0-36 |
356 | ))[3] - __s2[3]);TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( marker ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
357 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
358 | ) && ((size_t)(const void *)((TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
359 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
360 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
361 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
362 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
363 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
364 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
365 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
366 | ) && ((size_t)(const void *)((TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
367 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
368 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
369 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
370 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
371 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
372 | , TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
373 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
374 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
375 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
376 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
377 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
378 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
379 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
380 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
381 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
382 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "@cert-authority" ))[3] - __s2[3]); TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
383 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "@cert-authority" ))[3] - __s2[3]); | 0-36 |
384 | ))[3] - __s2[3]);TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "@cert-authority" ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 0-36 |
385 | markerTRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
386 | , TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
387 | "@cert-authority"TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
388 | )))); }) TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
| 36 |
389 | == 0TRUE | evaluated 36 times by 1 test | FALSE | evaluated 36 times by 1 test |
) | 36 |
390 | ret = MRK_CA;executed 36 times by 1 test: ret = MRK_CA; | 36 |
391 | else if ( | - |
392 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
393 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
394 | ) && __builtin_constant_p (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
395 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
396 | ) && (__s1_len = __builtin_strlen (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
397 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
398 | ), __s2_len = __builtin_strlen (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
399 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
400 | ), (!((size_t)(const void *)((TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
401 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
402 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
403 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
404 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
405 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
406 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
407 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
408 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
409 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
410 | , TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
411 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
412 | ) : (__builtin_constant_p (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
413 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
414 | ) && ((size_t)(const void *)((TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
415 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
416 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
417 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
418 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
419 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
420 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
421 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
422 | ) && ((size_t)(const void *)((TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
423 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
424 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
425 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
426 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
427 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
428 | , TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
429 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
430 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
431 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
432 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
433 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
434 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
435 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
436 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
437 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
438 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( marker ))[3] - __s2[3]); TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
439 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( marker ))[3] - __s2[3]); | 0-18 |
440 | ))[3] - __s2[3]);TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( marker ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
441 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
442 | ) && ((size_t)(const void *)((TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
443 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
444 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
445 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
446 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
447 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
448 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
449 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
450 | ) && ((size_t)(const void *)((TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
451 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
452 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
453 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
454 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
455 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
456 | , TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
457 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
458 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
459 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
460 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
461 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
462 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
463 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
464 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
465 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
466 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "@revoked" ))[3] - __s2[3]); TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
467 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "@revoked" ))[3] - __s2[3]); | 0-18 |
468 | ))[3] - __s2[3]);TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( "@revoked" ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 0-18 |
469 | markerTRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
470 | , TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
471 | "@revoked"TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
472 | )))); }) TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
| 18 |
473 | == 0TRUE | evaluated 18 times by 1 test | FALSE | evaluated 18 times by 1 test |
) | 18 |
474 | ret = MRK_REVOKE;executed 18 times by 1 test: ret = MRK_REVOKE; | 18 |
475 | else | - |
476 | returnexecuted 18 times by 1 test: return MRK_ERROR; MRK_ERROR;executed 18 times by 1 test: return MRK_ERROR; | 18 |
477 | | - |
478 | | - |
479 | cp = sp; | - |
480 | for (; *TRUE | evaluated 54 times by 1 test | FALSE | evaluated 54 times by 1 test |
cp == ' 'TRUE | evaluated 54 times by 1 test | FALSE | evaluated 54 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 54 times by 1 test |
cp == '\t'TRUE | never evaluated | FALSE | evaluated 54 times by 1 test |
; cp++) | 0-54 |
481 | ;executed 54 times by 1 test: ; | 54 |
482 | }executed 54 times by 1 test: end of block | 54 |
483 | *cpp = cp; | - |
484 | returnexecuted 648 times by 1 test: return ret; ret;executed 648 times by 1 test: return ret; | 648 |
485 | } | - |
486 | | - |
487 | struct hostkeys * | - |
488 | init_hostkeys(void) | - |
489 | { | - |
490 | struct hostkeys *ret = xcalloc(1, sizeof(*ret)); | - |
491 | | - |
492 | ret->entries = | - |
493 | ((void *)0) | - |
494 | ; | - |
495 | return never executed: return ret; ret;never executed: return ret; | 0 |
496 | } | - |
497 | | - |
498 | struct load_callback_ctx { | - |
499 | const char *host; | - |
500 | u_long num_loaded; | - |
501 | struct hostkeys *hostkeys; | - |
502 | }; | - |
503 | | - |
504 | static int | - |
505 | record_hostkey(struct hostkey_foreach_line *l, void *_ctx) | - |
506 | { | - |
507 | struct load_callback_ctx *ctx = (struct load_callback_ctx *)_ctx; | - |
508 | struct hostkeys *hostkeys = ctx->hostkeys; | - |
509 | struct hostkey_entry *tmp; | - |
510 | | - |
511 | if (l->status == 1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
512 | | - |
513 | debug("%s:%ld: parse error in hostkeys file", | - |
514 | l->path, l->linenum); | - |
515 | return never executed: return 0; 0;never executed: return 0; | 0 |
516 | } | - |
517 | | - |
518 | debug3("%s: found %skey type %s in file %s:%lu", __func__, | - |
519 | l->marker == MRK_NONE ? "" : | - |
520 | (l->marker == MRK_CA ? "ca " : "revoked "), | - |
521 | sshkey_type(l->key), l->path, l->linenum); | - |
522 | if ((TRUE | never evaluated | FALSE | never evaluated |
tmp = recallocarray(hostkeys->entries, hostkeys->num_entries,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
523 | hostkeys->num_entries + 1, sizeof(*hostkeys->entries))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
524 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
525 | ) | - |
526 | return never executed: return -2; -2;never executed: return -2; | 0 |
527 | hostkeys->entries = tmp; | - |
528 | hostkeys->entries[hostkeys->num_entries].host = xstrdup(ctx->host); | - |
529 | hostkeys->entries[hostkeys->num_entries].file = xstrdup(l->path); | - |
530 | hostkeys->entries[hostkeys->num_entries].line = l->linenum; | - |
531 | hostkeys->entries[hostkeys->num_entries].key = l->key; | - |
532 | l->key = | - |
533 | ((void *)0) | - |
534 | ; | - |
535 | hostkeys->entries[hostkeys->num_entries].marker = l->marker; | - |
536 | hostkeys->num_entries++; | - |
537 | ctx->num_loaded++; | - |
538 | | - |
539 | return never executed: return 0; 0;never executed: return 0; | 0 |
540 | } | - |
541 | | - |
542 | void | - |
543 | load_hostkeys(struct hostkeys *hostkeys, const char *host, const char *path) | - |
544 | { | - |
545 | int r; | - |
546 | struct load_callback_ctx ctx; | - |
547 | | - |
548 | ctx.host = host; | - |
549 | ctx.num_loaded = 0; | - |
550 | ctx.hostkeys = hostkeys; | - |
551 | | - |
552 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = hostkeys_foreach(path, record_hostkey, &ctx, host, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
553 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
554 | ,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
555 | (1)|(1<<1))) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
556 | if (r != -24TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
557 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
558 | != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
559 | 2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
560 | ) | - |
561 | debug("%s: hostkeys_foreach failed for %s: %s", never executed: debug("%s: hostkeys_foreach failed for %s: %s", __func__, path, ssh_err(r)); | 0 |
562 | __func__, path, ssh_err(r)); never executed: debug("%s: hostkeys_foreach failed for %s: %s", __func__, path, ssh_err(r)); | 0 |
563 | } never executed: end of block | 0 |
564 | if (ctx.num_loaded != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
565 | debug3("%s: loaded %lu keys from %s", __func__, never executed: debug3("%s: loaded %lu keys from %s", __func__, ctx.num_loaded, host); | 0 |
566 | ctx.num_loaded, host); never executed: debug3("%s: loaded %lu keys from %s", __func__, ctx.num_loaded, host); | 0 |
567 | } never executed: end of block | 0 |
568 | | - |
569 | void | - |
570 | free_hostkeys(struct hostkeys *hostkeys) | - |
571 | { | - |
572 | u_int i; | - |
573 | | - |
574 | for (i = 0; i < hostkeys->num_entriesTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
575 | free(hostkeys->entries[i].host); | - |
576 | free(hostkeys->entries[i].file); | - |
577 | sshkey_free(hostkeys->entries[i].key); | - |
578 | explicit_bzero(hostkeys->entries + i, sizeof(*hostkeys->entries)); | - |
579 | } never executed: end of block | 0 |
580 | free(hostkeys->entries); | - |
581 | explicit_bzero(hostkeys, sizeof(*hostkeys)); | - |
582 | free(hostkeys); | - |
583 | } never executed: end of block | 0 |
584 | | - |
585 | static int | - |
586 | check_key_not_revoked(struct hostkeys *hostkeys, struct sshkey *k) | - |
587 | { | - |
588 | int is_cert = sshkey_is_cert(k); | - |
589 | u_int i; | - |
590 | | - |
591 | for (i = 0; i < hostkeys->num_entriesTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
592 | if (hostkeys->entries[i].marker != MRK_REVOKETRUE | never evaluated | FALSE | never evaluated |
) | 0 |
593 | continue; never executed: continue; | 0 |
594 | if (sshkey_equal_public(k, hostkeys->entries[i].key)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
595 | return never executed: return -1; -1;never executed: return -1; | 0 |
596 | if (is_certTRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
597 | sshkey_equal_public(k->cert->signature_key,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
598 | hostkeys->entries[i].key)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
599 | return never executed: return -1; -1;never executed: return -1; | 0 |
600 | } never executed: end of block | 0 |
601 | return never executed: return 0; 0;never executed: return 0; | 0 |
602 | } | - |
603 | static HostStatus | - |
604 | check_hostkeys_by_key_or_type(struct hostkeys *hostkeys, | - |
605 | struct sshkey *k, int keytype, const struct hostkey_entry **found) | - |
606 | { | - |
607 | u_int i; | - |
608 | HostStatus end_return = HOST_NEW; | - |
609 | int want_cert = sshkey_is_cert(k); | - |
610 | HostkeyMarker want_marker = want_certTRUE | never evaluated | FALSE | never evaluated |
? MRK_CA : MRK_NONE; | 0 |
611 | | - |
612 | if (found != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
613 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
614 | ) | - |
615 | * never executed: *found = ((void *)0) ; found = never executed: *found = ((void *)0) ; | 0 |
616 | ((void *)0) never executed: *found = ((void *)0) ; | 0 |
617 | ; never executed: *found = ((void *)0) ; | 0 |
618 | | - |
619 | for (i = 0; i < hostkeys->num_entriesTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
620 | if (hostkeys->entries[i].marker != want_markerTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
621 | continue; never executed: continue; | 0 |
622 | if (k == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
623 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
624 | ) { | - |
625 | if (hostkeys->entries[i].key->type != keytypeTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
626 | continue; never executed: continue; | 0 |
627 | end_return = HOST_FOUND; | - |
628 | if (found != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
629 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
630 | ) | - |
631 | * never executed: *found = hostkeys->entries + i; found = hostkeys->entries + i;never executed: *found = hostkeys->entries + i; | 0 |
632 | k = hostkeys->entries[i].key; | - |
633 | break; never executed: break; | 0 |
634 | } | - |
635 | if (want_certTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
636 | if (sshkey_equal_public(k->cert->signature_key,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
637 | hostkeys->entries[i].key)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
638 | | - |
639 | end_return = HOST_OK; | - |
640 | if (found != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
641 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
642 | ) | - |
643 | * never executed: *found = hostkeys->entries + i; found = hostkeys->entries + i;never executed: *found = hostkeys->entries + i; | 0 |
644 | break; never executed: break; | 0 |
645 | } | - |
646 | } never executed: end of block else { | 0 |
647 | if (sshkey_equal(k, hostkeys->entries[i].key)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
648 | end_return = HOST_OK; | - |
649 | if (found != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
650 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
651 | ) | - |
652 | * never executed: *found = hostkeys->entries + i; found = hostkeys->entries + i;never executed: *found = hostkeys->entries + i; | 0 |
653 | break; never executed: break; | 0 |
654 | } | - |
655 | | - |
656 | end_return = HOST_CHANGED; | - |
657 | if (found != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
658 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
659 | ) | - |
660 | * never executed: *found = hostkeys->entries + i; found = hostkeys->entries + i;never executed: *found = hostkeys->entries + i; | 0 |
661 | } never executed: end of block | 0 |
662 | } | - |
663 | if (check_key_not_revoked(hostkeys, k) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
664 | end_return = HOST_REVOKED; | - |
665 | if (found != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
666 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
667 | ) | - |
668 | * never executed: *found = ((void *)0) ; found = never executed: *found = ((void *)0) ; | 0 |
669 | ((void *)0) never executed: *found = ((void *)0) ; | 0 |
670 | ; never executed: *found = ((void *)0) ; | 0 |
671 | } never executed: end of block | 0 |
672 | return never executed: return end_return; end_return;never executed: return end_return; | 0 |
673 | } | - |
674 | | - |
675 | HostStatus | - |
676 | check_key_in_hostkeys(struct hostkeys *hostkeys, struct sshkey *key, | - |
677 | const struct hostkey_entry **found) | - |
678 | { | - |
679 | if (key == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
680 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
681 | ) | - |
682 | fatal("no key to look up"); never executed: fatal("no key to look up"); | 0 |
683 | return never executed: return check_hostkeys_by_key_or_type(hostkeys, key, 0, found); check_hostkeys_by_key_or_type(hostkeys, key, 0, found);never executed: return check_hostkeys_by_key_or_type(hostkeys, key, 0, found); | 0 |
684 | } | - |
685 | | - |
686 | int | - |
687 | lookup_key_in_hostkeys_by_type(struct hostkeys *hostkeys, int keytype, | - |
688 | const struct hostkey_entry **found) | - |
689 | { | - |
690 | return never executed: return (check_hostkeys_by_key_or_type(hostkeys, ((void *)0) , keytype, found) == HOST_FOUND); (check_hostkeys_by_key_or_type(hostkeys, never executed: return (check_hostkeys_by_key_or_type(hostkeys, ((void *)0) , keytype, found) == HOST_FOUND); | 0 |
691 | ((void *)0) never executed: return (check_hostkeys_by_key_or_type(hostkeys, ((void *)0) , keytype, found) == HOST_FOUND); | 0 |
692 | , keytype, never executed: return (check_hostkeys_by_key_or_type(hostkeys, ((void *)0) , keytype, found) == HOST_FOUND); | 0 |
693 | found) == HOST_FOUND); never executed: return (check_hostkeys_by_key_or_type(hostkeys, ((void *)0) , keytype, found) == HOST_FOUND); | 0 |
694 | } | - |
695 | | - |
696 | static int | - |
697 | write_host_entry(FILE *f, const char *host, const char *ip, | - |
698 | const struct sshkey *key, int store_hash) | - |
699 | { | - |
700 | int r, success = 0; | - |
701 | char *hashed_host = | - |
702 | ((void *)0) | - |
703 | , *lhost; | - |
704 | | - |
705 | lhost = xstrdup(host); | - |
706 | lowercase(lhost); | - |
707 | | - |
708 | if (store_hashTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
709 | if ((TRUE | never evaluated | FALSE | never evaluated |
hashed_host = host_hash(lhost, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
710 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
711 | , 0)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
712 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
713 | ) { | - |
714 | error("%s: host_hash failed", __func__); | - |
715 | free(lhost); | - |
716 | return never executed: return 0; 0;never executed: return 0; | 0 |
717 | } | - |
718 | fprintf(f, "%s ", hashed_host); | - |
719 | } never executed: end of block else if (ip != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
720 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
721 | ) | - |
722 | fprintf(f, "%s,%s ", lhost, ip); never executed: fprintf(f, "%s,%s ", lhost, ip); | 0 |
723 | else { | - |
724 | fprintf(f, "%s ", lhost); | - |
725 | } never executed: end of block | 0 |
726 | free(lhost); | - |
727 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshkey_write(key, f)) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
728 | success = 1; never executed: success = 1; | 0 |
729 | else | - |
730 | error("%s: sshkey_write failed: %s", __func__, ssh_err(r)); never executed: error("%s: sshkey_write failed: %s", __func__, ssh_err(r)); | 0 |
731 | fputc('\n', f); | - |
732 | return never executed: return success; success;never executed: return success; | 0 |
733 | } | - |
734 | | - |
735 | | - |
736 | | - |
737 | | - |
738 | | - |
739 | int | - |
740 | add_host_to_hostfile(const char *filename, const char *host, | - |
741 | const struct sshkey *key, int store_hash) | - |
742 | { | - |
743 | FILE *f; | - |
744 | int success; | - |
745 | | - |
746 | if (key == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
747 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
748 | ) | - |
749 | return never executed: return 1; 1;never executed: return 1; | 0 |
750 | f = fopen(filename, "a"); | - |
751 | if (!fTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
752 | return never executed: return 0; 0;never executed: return 0; | 0 |
753 | success = write_host_entry(f, host, | - |
754 | ((void *)0) | - |
755 | , key, store_hash); | - |
756 | fclose(f); | - |
757 | return never executed: return success; success;never executed: return success; | 0 |
758 | } | - |
759 | | - |
760 | struct host_delete_ctx { | - |
761 | FILE *out; | - |
762 | int quiet; | - |
763 | const char *host; | - |
764 | int *skip_keys; | - |
765 | struct sshkey * const *keys; | - |
766 | size_t nkeys; | - |
767 | int modified; | - |
768 | }; | - |
769 | | - |
770 | static int | - |
771 | host_delete(struct hostkey_foreach_line *l, void *_ctx) | - |
772 | { | - |
773 | struct host_delete_ctx *ctx = (struct host_delete_ctx *)_ctx; | - |
774 | int loglevel = ctx->quietTRUE | never evaluated | FALSE | never evaluated |
? SYSLOG_LEVEL_DEBUG1 : SYSLOG_LEVEL_VERBOSE; | 0 |
775 | size_t i; | - |
776 | | - |
777 | if (l->status == 3TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
778 | if (l->marker != MRK_NONETRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
779 | | - |
780 | fprintf(ctx->out, "%s\n", l->line); | - |
781 | return never executed: return 0; 0;never executed: return 0; | 0 |
782 | } | - |
783 | | - |
784 | | - |
785 | | - |
786 | | - |
787 | | - |
788 | | - |
789 | for (i = 0; i < ctx->nkeysTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
790 | if (sshkey_equal(ctx->keys[i], l->key)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
791 | ctx->skip_keys[i] = 1; | - |
792 | fprintf(ctx->out, "%s\n", l->line); | - |
793 | debug3("%s: %s key already at %s:%ld", __func__, | - |
794 | sshkey_type(l->key), l->path, l->linenum); | - |
795 | return never executed: return 0; 0;never executed: return 0; | 0 |
796 | } | - |
797 | } never executed: end of block | 0 |
798 | | - |
799 | | - |
800 | | - |
801 | | - |
802 | | - |
803 | do_log2(loglevel, "%s%s%s:%ld: Removed %s key for host %s", | - |
804 | ctx->quiet ? __func__ : "", ctx->quiet ? ": " : "", | - |
805 | l->path, l->linenum, sshkey_type(l->key), ctx->host); | - |
806 | ctx->modified = 1; | - |
807 | return never executed: return 0; 0;never executed: return 0; | 0 |
808 | } | - |
809 | | - |
810 | if (l->status == 1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
811 | do_log2(loglevel, "%s%s%s:%ld: invalid known_hosts entry", | - |
812 | ctx->quiet ? __func__ : "", ctx->quiet ? ": " : "", | - |
813 | l->path, l->linenum); | - |
814 | } never executed: end of block | 0 |
815 | fprintf(ctx->out, "%s\n", l->line); | - |
816 | return never executed: return 0; 0;never executed: return 0; | 0 |
817 | } | - |
818 | | - |
819 | int | - |
820 | hostfile_replace_entries(const char *filename, const char *host, const char *ip, | - |
821 | struct sshkey **keys, size_t nkeys, int store_hash, int quiet, int hash_alg) | - |
822 | { | - |
823 | int r, fd, oerrno = 0; | - |
824 | int loglevel = quietTRUE | never evaluated | FALSE | never evaluated |
? SYSLOG_LEVEL_DEBUG1 : SYSLOG_LEVEL_VERBOSE; | 0 |
825 | struct host_delete_ctx ctx; | - |
826 | char *fp, *temp = | - |
827 | ((void *)0) | - |
828 | , *back = | - |
829 | ((void *)0) | - |
830 | ; | - |
831 | mode_t omask; | - |
832 | size_t i; | - |
833 | | - |
834 | omask = umask(077); | - |
835 | | - |
836 | memset(&ctx, 0, sizeof(ctx)); | - |
837 | ctx.host = host; | - |
838 | ctx.quiet = quiet; | - |
839 | if ((TRUE | never evaluated | FALSE | never evaluated |
ctx.skip_keys = calloc(nkeys, sizeof(*ctx.skip_keys))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
840 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
841 | ) | - |
842 | return never executed: return -2; -2;never executed: return -2; | 0 |
843 | ctx.keys = keys; | - |
844 | ctx.nkeys = nkeys; | - |
845 | ctx.modified = 0; | - |
846 | | - |
847 | | - |
848 | | - |
849 | | - |
850 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = asprintf(&temp, "%s.XXXXXXXXXXX", filename)) < 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
851 | (TRUE | never evaluated | FALSE | never evaluated |
r = asprintf(&back, "%s.old", filename)) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
852 | r = -2; | - |
853 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
854 | } | - |
855 | | - |
856 | if ((TRUE | never evaluated | FALSE | never evaluated |
fd = mkstemp(temp)) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
857 | oerrno = | - |
858 | (*__errno_location ()) | - |
859 | ; | - |
860 | error("%s: mkstemp: %s", __func__, strerror(oerrno)); | - |
861 | r = -24; | - |
862 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
863 | } | - |
864 | if ((TRUE | never evaluated | FALSE | never evaluated |
ctx.out = fdopen(fd, "w")) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
865 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
866 | ) { | - |
867 | oerrno = | - |
868 | (*__errno_location ()) | - |
869 | ; | - |
870 | close(fd); | - |
871 | error("%s: fdopen: %s", __func__, strerror(oerrno)); | - |
872 | r = -24; | - |
873 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
874 | } | - |
875 | | - |
876 | | - |
877 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = hostkeys_foreach(filename, host_delete, &ctx, host, ip,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
878 | (1<<1))) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
879 | error("%s: hostkeys_foreach failed: %s", __func__, ssh_err(r)); | - |
880 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
881 | } | - |
882 | | - |
883 | | - |
884 | for (i = 0; i < nkeysTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
885 | if (ctx.skip_keys[i]TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
886 | continue; never executed: continue; | 0 |
887 | if ((TRUE | never evaluated | FALSE | never evaluated |
fp = sshkey_fingerprint(keys[i], hash_alg,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
888 | SSH_FP_DEFAULT)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
889 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
890 | ) { | - |
891 | r = -2; | - |
892 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
893 | } | - |
894 | do_log2(loglevel, "%s%sAdding new key for %s to %s: %s %s", | - |
895 | quiet ? __func__ : "", quiet ? ": " : "", host, filename, | - |
896 | sshkey_ssh_name(keys[i]), fp); | - |
897 | free(fp); | - |
898 | if (!write_host_entry(ctx.out, host, ip, keys[i], store_hash)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
899 | r = -1; | - |
900 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
901 | } | - |
902 | ctx.modified = 1; | - |
903 | } never executed: end of block | 0 |
904 | fclose(ctx.out); | - |
905 | ctx.out = | - |
906 | ((void *)0) | - |
907 | ; | - |
908 | | - |
909 | if (ctx.modifiedTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
910 | | - |
911 | if (unlink(back) == -1TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
912 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
913 | != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
914 | 2TRUE | never evaluated | FALSE | never evaluated |
| 0 |
915 | ) { | - |
916 | oerrno = | - |
917 | (*__errno_location ()) | - |
918 | ; | - |
919 | error("%s: unlink %.100s: %s", __func__, | - |
920 | back, strerror( | - |
921 | (*__errno_location ()) | - |
922 | )); | - |
923 | r = -24; | - |
924 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
925 | } | - |
926 | if (link(filename, back) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
927 | oerrno = | - |
928 | (*__errno_location ()) | - |
929 | ; | - |
930 | error("%s: link %.100s to %.100s: %s", __func__, | - |
931 | filename, back, strerror( | - |
932 | (*__errno_location ()) | - |
933 | )); | - |
934 | r = -24; | - |
935 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
936 | } | - |
937 | if (rename(temp, filename) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
938 | oerrno = | - |
939 | (*__errno_location ()) | - |
940 | ; | - |
941 | error("%s: rename \"%s\" to \"%s\": %s", __func__, | - |
942 | temp, filename, strerror( | - |
943 | (*__errno_location ()) | - |
944 | )); | - |
945 | r = -24; | - |
946 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
947 | } | - |
948 | } never executed: end of block else { | 0 |
949 | | - |
950 | if (unlink(temp) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
951 | error("%s: unlink \"%s\": %s", __func__, never executed: error("%s: unlink \"%s\": %s", __func__, temp, strerror( (*__errno_location ()) )); | 0 |
952 | temp, strerror( never executed: error("%s: unlink \"%s\": %s", __func__, temp, strerror( (*__errno_location ()) )); | 0 |
953 | (*__errno_location ()) never executed: error("%s: unlink \"%s\": %s", __func__, temp, strerror( (*__errno_location ()) )); | 0 |
954 | )); never executed: error("%s: unlink \"%s\": %s", __func__, temp, strerror( (*__errno_location ()) )); | 0 |
955 | } never executed: end of block | 0 |
956 | | - |
957 | | - |
958 | r = 0; | - |
959 | fail: code before this statement never executed: fail: | 0 |
960 | if (temp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
961 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
962 | && r != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
963 | unlink(temp); never executed: unlink(temp); | 0 |
964 | free(temp); | - |
965 | free(back); | - |
966 | if (ctx.out != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
967 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
968 | ) | - |
969 | fclose(ctx.out); never executed: fclose(ctx.out); | 0 |
970 | free(ctx.skip_keys); | - |
971 | umask(omask); | - |
972 | if (r == -24TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
973 | | - |
974 | (* never executed: (*__errno_location ()) = oerrno; __errno_location ()) never executed: (*__errno_location ()) = oerrno; | 0 |
975 | = oerrno; never executed: (*__errno_location ()) = oerrno; | 0 |
976 | return never executed: return r; r;never executed: return r; | 0 |
977 | } | - |
978 | | - |
979 | static int | - |
980 | match_maybe_hashed(const char *host, const char *names, int *was_hashed) | - |
981 | { | - |
982 | int hashed = *names == '|'; | - |
983 | const char *hashed_host; | - |
984 | size_t nlen = strlen(names); | - |
985 | | - |
986 | if (was_hashed != TRUE | evaluated 936 times by 1 test | FALSE | never evaluated |
| 0-936 |
987 | ((void *)0)TRUE | evaluated 936 times by 1 test | FALSE | never evaluated |
| 0-936 |
988 | ) | - |
989 | *executed 936 times by 1 test: *was_hashed = hashed; was_hashed = hashed;executed 936 times by 1 test: *was_hashed = hashed; | 936 |
990 | if (hashedTRUE | evaluated 416 times by 1 test | FALSE | evaluated 520 times by 1 test |
) { | 416-520 |
991 | if ((TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
hashed_host = host_hash(host, names, nlen)) == TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
992 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
| 0-416 |
993 | ) | - |
994 | return never executed: return -1; -1;never executed: return -1; | 0 |
995 | returnexecuted 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; nlen == strlen(hashed_host)TRUE | evaluated 416 times by 1 test | FALSE | never evaluated |
&&executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
996 | executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 416 |
997 | (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
998 | nlenTRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
999 | )TRUE | never evaluated | FALSE | evaluated 416 times by 1 test |
&& ((__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1000 | hashed_hostTRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1001 | )TRUE | never evaluated | FALSE | never evaluated |
&& strlen (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1002 | hashed_hostTRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1003 | ) < ((size_t) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1004 | nlenTRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1005 | ))TRUE | never evaluated | FALSE | never evaluated |
) || (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1006 | namesTRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1007 | )TRUE | never evaluated | FALSE | never evaluated |
&& strlen (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1008 | namesTRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1009 | ) < ((size_t) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1010 | nlenTRUE | never evaluated | FALSE | never evaluated |
TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1011 | ))TRUE | never evaluated | FALSE | never evaluated |
)) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1012 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1013 | ) && __builtin_constant_p (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1014 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1015 | ) && (__s1_len = __builtin_strlen (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1016 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1017 | ), __s2_len = __builtin_strlen (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1018 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1019 | ), (!((size_t)(const void *)((TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1020 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1021 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1022 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1023 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1024 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1025 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1026 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1027 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1028 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1029 | , TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1030 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1031 | ) : (__builtin_constant_p (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1032 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1033 | ) && ((size_t)(const void *)((TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1034 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1035 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1036 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1037 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1038 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1039 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1040 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1041 | ) && ((size_t)(const void *)((TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1042 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1043 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1044 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1045 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1046 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1047 | , TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1048 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1049 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1050 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1051 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1052 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1053 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1054 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1055 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1056 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1057 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( hashed_host ))[3] - __s2[3]); TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1058 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( hashed_host ))[3] - __s2[3]); executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1059 | ))[3] - __s2[3]);TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( hashed_host ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1060 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1061 | ) && ((size_t)(const void *)((TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1062 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1063 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1064 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1065 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1066 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1067 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1068 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1069 | ) && ((size_t)(const void *)((TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1070 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1071 | ) + 1) - (size_t)(const void *)(TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1072 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1073 | ) == 1) ? __builtin_strcmp (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1074 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1075 | , TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1076 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1077 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1078 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1079 | ); int __result = (((const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1080 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1081 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1082 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1083 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1084 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1085 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1086 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1087 | ))[3] - __s2[3]);TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 0-416 |
1088 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1089 | , TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1090 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1091 | )))); }) : strncmp (TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1092 | hashed_hostTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1093 | , TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1094 | namesTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1095 | , TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1096 | nlenTRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1097 | ))) TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1098 | == 0TRUE | evaluated 64 times by 1 test | FALSE | evaluated 352 times by 1 test |
;executed 416 times by 1 test: return nlen == strlen(hashed_host) && (__extension__ (__builtin_constant_p ( nlen ) && ((__builtin_constant_p ( hashed_host ) && strlen ( hashed_host ) < ((size_t) ( nlen ))) || (__builtin_constant_p ( names ) && strlen ( names ) < ((size_t) ( nlen )))) ?... names ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( names ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( hashed_host , names )))); }) : strncmp ( hashed_host , names , nlen ))) == 0; | 64-416 |
1099 | } | - |
1100 | returnexecuted 520 times by 1 test: return match_hostname(host, names) == 1; match_hostname(host, names) == 1;executed 520 times by 1 test: return match_hostname(host, names) == 1; | 520 |
1101 | } | - |
1102 | | - |
1103 | int | - |
1104 | hostkeys_foreach(const char *path, hostkeys_foreach_fn *callback, void *ctx, | - |
1105 | const char *host, const char *ip, u_int options) | - |
1106 | { | - |
1107 | FILE *f; | - |
1108 | char *line = | - |
1109 | ((void *)0) | - |
1110 | , ktype[128]; | - |
1111 | u_long linenum = 0; | - |
1112 | char *cp, *cp2; | - |
1113 | u_int kbits; | - |
1114 | int hashed; | - |
1115 | int s, r = 0; | - |
1116 | struct hostkey_foreach_line lineinfo; | - |
1117 | size_t linesize = 0, l; | - |
1118 | | - |
1119 | memset(&lineinfo, 0, sizeof(lineinfo)); | - |
1120 | if (host == TRUE | evaluated 2 times by 1 test | FALSE | evaluated 16 times by 1 test |
| 2-16 |
1121 | ((void *)0)TRUE | evaluated 2 times by 1 test | FALSE | evaluated 16 times by 1 test |
| 2-16 |
1122 | && (TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
options & (1)) != 0TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
1123 | return never executed: return -10; -10;never executed: return -10; | 0 |
1124 | if ((TRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
f = fopen(path, "r")) == TRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
| 0-18 |
1125 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
| 0-18 |
1126 | ) | - |
1127 | return never executed: return -24; -24;never executed: return -24; | 0 |
1128 | | - |
1129 | debug3("%s: reading file \"%s\"", __func__, path); | - |
1130 | while (getline(&line, &linesize, f) != -1TRUE | evaluated 900 times by 1 test | FALSE | evaluated 18 times by 1 test |
) { | 18-900 |
1131 | linenum++; | - |
1132 | line[ | - |
1133 | __builtin_strcspn ( | - |
1134 | line | - |
1135 | , | - |
1136 | "\n" | - |
1137 | ) | - |
1138 | ] = '\0'; | - |
1139 | | - |
1140 | free(lineinfo.line); | - |
1141 | sshkey_free(lineinfo.key); | - |
1142 | memset(&lineinfo, 0, sizeof(lineinfo)); | - |
1143 | lineinfo.path = path; | - |
1144 | lineinfo.linenum = linenum; | - |
1145 | lineinfo.line = xstrdup(line); | - |
1146 | lineinfo.marker = MRK_NONE; | - |
1147 | lineinfo.status = 0; | - |
1148 | lineinfo.keytype = KEY_UNSPEC; | - |
1149 | | - |
1150 | | - |
1151 | for (cp = line; *TRUE | never evaluated | FALSE | evaluated 900 times by 1 test |
cp == ' 'TRUE | never evaluated | FALSE | evaluated 900 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 900 times by 1 test |
cp == '\t'TRUE | never evaluated | FALSE | evaluated 900 times by 1 test |
; cp++) | 0-900 |
1152 | ; never executed: ; | 0 |
1153 | if (!*cpTRUE | evaluated 126 times by 1 test | FALSE | evaluated 774 times by 1 test |
|| *TRUE | evaluated 108 times by 1 test | FALSE | evaluated 666 times by 1 test |
cp == '#'TRUE | evaluated 108 times by 1 test | FALSE | evaluated 666 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 666 times by 1 test |
cp == '\n'TRUE | never evaluated | FALSE | evaluated 666 times by 1 test |
) { | 0-774 |
1154 | if ((TRUE | evaluated 130 times by 1 test | FALSE | evaluated 104 times by 1 test |
options & (1)) == 0TRUE | evaluated 130 times by 1 test | FALSE | evaluated 104 times by 1 test |
) { | 104-130 |
1155 | lineinfo.status = 2; | - |
1156 | if ((TRUE | never evaluated | FALSE | evaluated 130 times by 1 test |
r = callback(&lineinfo, ctx)) != 0TRUE | never evaluated | FALSE | evaluated 130 times by 1 test |
) | 0-130 |
1157 | break; never executed: break; | 0 |
1158 | }executed 130 times by 1 test: end of block | 130 |
1159 | continue;executed 234 times by 1 test: continue; | 234 |
1160 | } | - |
1161 | | - |
1162 | if ((TRUE | evaluated 18 times by 1 test | FALSE | evaluated 648 times by 1 test |
lineinfo.marker = check_markers(&cp)) == MRK_ERRORTRUE | evaluated 18 times by 1 test | FALSE | evaluated 648 times by 1 test |
) { | 18-648 |
1163 | verbose("%s: invalid marker at %s:%lu", | - |
1164 | __func__, path, linenum); | - |
1165 | if ((TRUE | evaluated 10 times by 1 test | FALSE | evaluated 8 times by 1 test |
options & (1)) == 0TRUE | evaluated 10 times by 1 test | FALSE | evaluated 8 times by 1 test |
) | 8-10 |
1166 | gotoexecuted 10 times by 1 test: goto bad; bad;executed 10 times by 1 test: goto bad; | 10 |
1167 | continue;executed 8 times by 1 test: continue; | 8 |
1168 | } | - |
1169 | | - |
1170 | | - |
1171 | for (cp2 = cp; *TRUE | evaluated 27558 times by 1 test | FALSE | never evaluated |
cp2TRUE | evaluated 27558 times by 1 test | FALSE | never evaluated |
&& *TRUE | evaluated 26910 times by 1 test | FALSE | evaluated 648 times by 1 test |
cp2 != ' 'TRUE | evaluated 26910 times by 1 test | FALSE | evaluated 648 times by 1 test |
&& *TRUE | evaluated 26910 times by 1 test | FALSE | never evaluated |
cp2 != '\t'TRUE | evaluated 26910 times by 1 test | FALSE | never evaluated |
; cp2++) | 0-27558 |
1172 | ;executed 26910 times by 1 test: ; | 26910 |
1173 | lineinfo.hosts = cp; | - |
1174 | *cp2++ = '\0'; | - |
1175 | | - |
1176 | | - |
1177 | if (host != TRUE | evaluated 576 times by 1 test | FALSE | evaluated 72 times by 1 test |
| 72-576 |
1178 | ((void *)0)TRUE | evaluated 576 times by 1 test | FALSE | evaluated 72 times by 1 test |
| 72-576 |
1179 | ) { | - |
1180 | if ((TRUE | never evaluated | FALSE | evaluated 576 times by 1 test |
s = match_maybe_hashed(host, lineinfo.hosts,TRUE | never evaluated | FALSE | evaluated 576 times by 1 test |
| 0-576 |
1181 | &hashed)) == -1TRUE | never evaluated | FALSE | evaluated 576 times by 1 test |
) { | 0-576 |
1182 | debug2("%s: %s:%ld: bad host hash \"%.32s\"", | - |
1183 | __func__, path, linenum, lineinfo.hosts); | - |
1184 | goto never executed: goto bad; bad;never executed: goto bad; | 0 |
1185 | } | - |
1186 | if (s == 1TRUE | evaluated 132 times by 1 test | FALSE | evaluated 444 times by 1 test |
) { | 132-444 |
1187 | lineinfo.status = 3; | - |
1188 | lineinfo.match |= (1) | | - |
1189 | (hashed ? (1<<2) : 0); | - |
1190 | }executed 132 times by 1 test: end of block | 132 |
1191 | | - |
1192 | if (ip != TRUE | evaluated 360 times by 1 test | FALSE | evaluated 216 times by 1 test |
| 216-360 |
1193 | ((void *)0)TRUE | evaluated 360 times by 1 test | FALSE | evaluated 216 times by 1 test |
| 216-360 |
1194 | ) { | - |
1195 | if ((TRUE | never evaluated | FALSE | evaluated 360 times by 1 test |
s = match_maybe_hashed(ip, lineinfo.hosts,TRUE | never evaluated | FALSE | evaluated 360 times by 1 test |
| 0-360 |
1196 | &hashed)) == -1TRUE | never evaluated | FALSE | evaluated 360 times by 1 test |
) { | 0-360 |
1197 | debug2("%s: %s:%ld: bad ip hash " | - |
1198 | "\"%.32s\"", __func__, path, | - |
1199 | linenum, lineinfo.hosts); | - |
1200 | goto never executed: goto bad; bad;never executed: goto bad; | 0 |
1201 | } | - |
1202 | if (s == 1TRUE | evaluated 96 times by 1 test | FALSE | evaluated 264 times by 1 test |
) { | 96-264 |
1203 | lineinfo.status = 3; | - |
1204 | lineinfo.match |= (1<<1) | | - |
1205 | (hashed ? (1<<3) : 0); | - |
1206 | }executed 96 times by 1 test: end of block | 96 |
1207 | }executed 360 times by 1 test: end of block | 360 |
1208 | | - |
1209 | | - |
1210 | | - |
1211 | | - |
1212 | if ((TRUE | evaluated 288 times by 1 test | FALSE | evaluated 288 times by 1 test |
options & (1)) != 0TRUE | evaluated 288 times by 1 test | FALSE | evaluated 288 times by 1 test |
&& | 288 |
1213 | lineinfo.status != 3TRUE | evaluated 191 times by 1 test | FALSE | evaluated 97 times by 1 test |
) | 97-191 |
1214 | continue;executed 191 times by 1 test: continue; | 191 |
1215 | }executed 385 times by 1 test: end of block | 385 |
1216 | | - |
1217 | | - |
1218 | for (; *TRUE | evaluated 55 times by 1 test | FALSE | evaluated 457 times by 1 test |
cp2 == ' 'TRUE | evaluated 55 times by 1 test | FALSE | evaluated 457 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 457 times by 1 test |
cp2 == '\t'TRUE | never evaluated | FALSE | evaluated 457 times by 1 test |
; cp2++) | 0-457 |
1219 | ;executed 55 times by 1 test: ; | 55 |
1220 | if (*TRUE | evaluated 11 times by 1 test | FALSE | evaluated 446 times by 1 test |
cp2 == '\0'TRUE | evaluated 11 times by 1 test | FALSE | evaluated 446 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 446 times by 1 test |
cp2 == '#'TRUE | never evaluated | FALSE | evaluated 446 times by 1 test |
) { | 0-446 |
1221 | debug2("%s:%ld: truncated before key type", | - |
1222 | path, linenum); | - |
1223 | gotoexecuted 11 times by 1 test: goto bad; bad;executed 11 times by 1 test: goto bad; | 11 |
1224 | } | - |
1225 | lineinfo.rawkey = cp = cp2; | - |
1226 | | - |
1227 | if ((TRUE | evaluated 90 times by 1 test | FALSE | evaluated 356 times by 1 test |
options & (1<<1)) != 0TRUE | evaluated 90 times by 1 test | FALSE | evaluated 356 times by 1 test |
) { | 90-356 |
1228 | | - |
1229 | | - |
1230 | | - |
1231 | | - |
1232 | | - |
1233 | if ((TRUE | never evaluated | FALSE | evaluated 90 times by 1 test |
lineinfo.key = sshkey_new(KEY_UNSPEC)) == TRUE | never evaluated | FALSE | evaluated 90 times by 1 test |
| 0-90 |
1234 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 90 times by 1 test |
| 0-90 |
1235 | ) { | - |
1236 | error("%s: sshkey_new failed", __func__); | - |
1237 | r = -2; | - |
1238 | break; never executed: break; | 0 |
1239 | } | - |
1240 | if (!hostfile_read_key(&cp, &kbits, lineinfo.key)TRUE | evaluated 10 times by 1 test | FALSE | evaluated 80 times by 1 test |
) { | 10-80 |
1241 | gotoexecuted 10 times by 1 test: goto bad; bad;executed 10 times by 1 test: goto bad; | 10 |
1242 | } | - |
1243 | lineinfo.keytype = lineinfo.key->type; | - |
1244 | lineinfo.comment = cp; | - |
1245 | }executed 80 times by 1 test: end of block else { | 80 |
1246 | | - |
1247 | l = | - |
1248 | __builtin_strcspn ( | - |
1249 | lineinfo.rawkey | - |
1250 | , | - |
1251 | " \t" | - |
1252 | ) | - |
1253 | ; | - |
1254 | if (l <= 1TRUE | never evaluated | FALSE | evaluated 356 times by 1 test |
|| l >= sizeof(ktype)TRUE | never evaluated | FALSE | evaluated 356 times by 1 test |
|| | 0-356 |
1255 | lineinfo.rawkey[l] == '\0'TRUE | never evaluated | FALSE | evaluated 356 times by 1 test |
) | 0-356 |
1256 | goto never executed: goto bad; bad;never executed: goto bad; | 0 |
1257 | memcpy(ktype, lineinfo.rawkey, l); | - |
1258 | ktype[l] = '\0'; | - |
1259 | lineinfo.keytype = sshkey_type_from_name(ktype); | - |
1260 | | - |
1261 | | - |
1262 | | - |
1263 | | - |
1264 | | - |
1265 | if (lineinfo.keytype == KEY_UNSPECTRUE | evaluated 18 times by 1 test | FALSE | evaluated 338 times by 1 test |
&& l < 8TRUE | evaluated 18 times by 1 test | FALSE | never evaluated |
&& | 0-338 |
1266 | | - |
1267 | __builtin_strspn (TRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
| 0-18 |
1268 | ktypeTRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
| 0-18 |
1269 | , TRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
| 0-18 |
1270 | "0123456789"TRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
| 0-18 |
1271 | ) TRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
| 0-18 |
1272 | == lTRUE | never evaluated | FALSE | evaluated 18 times by 1 test |
) | 0-18 |
1273 | goto never executed: goto bad; bad;never executed: goto bad; | 0 |
1274 | | - |
1275 | | - |
1276 | | - |
1277 | | - |
1278 | | - |
1279 | | - |
1280 | cp2 += l; | - |
1281 | for (; *TRUE | evaluated 356 times by 1 test | FALSE | evaluated 356 times by 1 test |
cp2 == ' 'TRUE | evaluated 356 times by 1 test | FALSE | evaluated 356 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 356 times by 1 test |
cp2 == '\t'TRUE | never evaluated | FALSE | evaluated 356 times by 1 test |
; cp2++) | 0-356 |
1282 | ;executed 356 times by 1 test: ; | 356 |
1283 | if (*TRUE | evaluated 10 times by 1 test | FALSE | evaluated 346 times by 1 test |
cp2 == '\0'TRUE | evaluated 10 times by 1 test | FALSE | evaluated 346 times by 1 test |
|| *TRUE | never evaluated | FALSE | evaluated 346 times by 1 test |
cp2 == '#'TRUE | never evaluated | FALSE | evaluated 346 times by 1 test |
) { | 0-346 |
1284 | debug2("%s:%ld: truncated after key type", | - |
1285 | path, linenum); | - |
1286 | lineinfo.keytype = KEY_UNSPEC; | - |
1287 | }executed 10 times by 1 test: end of block | 10 |
1288 | if (lineinfo.keytype == KEY_UNSPECTRUE | evaluated 28 times by 1 test | FALSE | evaluated 328 times by 1 test |
) { | 28-328 |
1289 | bad: | - |
1290 | sshkey_free(lineinfo.key); | - |
1291 | lineinfo.key = | - |
1292 | ((void *)0) | - |
1293 | ; | - |
1294 | lineinfo.status = 1; | - |
1295 | if ((TRUE | never evaluated | FALSE | evaluated 59 times by 1 test |
r = callback(&lineinfo, ctx)) != 0TRUE | never evaluated | FALSE | evaluated 59 times by 1 test |
) | 0-59 |
1296 | break; never executed: break; | 0 |
1297 | continue;executed 59 times by 1 test: continue; | 59 |
1298 | } | - |
1299 | }executed 328 times by 1 test: end of block | 328 |
1300 | if ((TRUE | never evaluated | FALSE | evaluated 408 times by 1 test |
r = callback(&lineinfo, ctx)) != 0TRUE | never evaluated | FALSE | evaluated 408 times by 1 test |
) | 0-408 |
1301 | break; never executed: break; | 0 |
1302 | }executed 408 times by 1 test: end of block | 408 |
1303 | sshkey_free(lineinfo.key); | - |
1304 | free(lineinfo.line); | - |
1305 | free(line); | - |
1306 | fclose(f); | - |
1307 | returnexecuted 18 times by 1 test: return r; r;executed 18 times by 1 test: return r; | 18 |
1308 | } | - |
| | |