OpenCoverage

realpath.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/openbsd-compat/realpath.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10char *-
11_ssh_compat_realpath(const char *path, char *resolved)-
12{-
13 struct stat sb;-
14 char *p, *q, *s;-
15 size_t left_len, resolved_len;-
16 unsigned symlinks;-
17 int serrno, slen, mem_allocated;-
18 char left[-
19 4096-
20 ], next_token[-
21 4096-
22 ], symlink[-
23 4096-
24 ];-
25-
26 if (path[0] == '\0'
path[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
27 -
28 (*__errno_location ()) -
29 = -
30 2-
31 ;-
32 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
33 ((void *)0)
never executed: return ( ((void *)0) );
0
34 );
never executed: return ( ((void *)0) );
0
35 }-
36-
37 serrno = -
38 (*__errno_location ())-
39 ;-
40-
41 if (resolved ==
resolved == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
42 ((void *)0)
resolved == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
43 ) {-
44 resolved = malloc(-
45 4096-
46 );-
47 if (resolved ==
resolved == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
48 ((void *)0)
resolved == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
49 )-
50 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
51 ((void *)0)
never executed: return ( ((void *)0) );
0
52 );
never executed: return ( ((void *)0) );
0
53 mem_allocated = 1;-
54 }
never executed: end of block
else
0
55 mem_allocated = 0;
never executed: mem_allocated = 0;
0
56-
57 symlinks = 0;-
58 if (path[0] == '/'
path[0] == '/'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
59 resolved[0] = '/';-
60 resolved[1] = '\0';-
61 if (path[1] == '\0'
path[1] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
62 return
never executed: return (resolved);
(resolved);
never executed: return (resolved);
0
63 resolved_len = 1;-
64 left_len = strlcpy(left, path + 1, sizeof(left));-
65 }
never executed: end of block
else {
0
66 if (getcwd(resolved,
getcwd(resolve...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
67 4096
getcwd(resolve...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
68 ) ==
getcwd(resolve...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
69 ((void *)0)
getcwd(resolve...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
70 ) {-
71 if (mem_allocated
mem_allocatedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
72 free(resolved);
never executed: free(resolved);
0
73 else-
74 strlcpy(resolved, ".",
never executed: strlcpy(resolved, ".", 4096 );
0
75 4096
never executed: strlcpy(resolved, ".", 4096 );
0
76 );
never executed: strlcpy(resolved, ".", 4096 );
0
77 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
78 ((void *)0)
never executed: return ( ((void *)0) );
0
79 );
never executed: return ( ((void *)0) );
0
80 }-
81 resolved_len = strlen(resolved);-
82 left_len = strlcpy(left, path, sizeof(left));-
83 }
never executed: end of block
0
84 if (left_len >= sizeof(left)
left_len >= sizeof(left)Description
TRUEnever evaluated
FALSEnever evaluated
|| resolved_len >=
resolved_len >= 4096Description
TRUEnever evaluated
FALSEnever evaluated
0
85 4096
resolved_len >= 4096Description
TRUEnever evaluated
FALSEnever evaluated
0
86 ) {-
87 -
88 (*__errno_location ()) -
89 = -
90 36-
91 ;-
92 goto
never executed: goto err;
err;
never executed: goto err;
0
93 }-
94-
95-
96-
97-
98 while (left_len != 0
left_len != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
99-
100-
101-
102-
103 p = -
104 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
0
105 '/'
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
0
106 )
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_constant_p ( left )Description
TRUEnever evaluated
FALSEnever evaluated
0
107 left
!__builtin_constant_p ( left )Description
TRUEnever evaluated
FALSEnever evaluated
0
108 )
!__builtin_constant_p ( left )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
109 '/'
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
110 ) == '\0'
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
0
111 left-
112 , -
113 '/'-
114 ) : __builtin_strchr (-
115 left-
116 , -
117 '/'-
118 )))-
119 ;-
120 s = p
pDescription
TRUEnever evaluated
FALSEnever evaluated
? p : left + left_len;
0
121 if (s - left >= (ptrdiff_t)sizeof(next_token)
s - left >= (p...of(next_token)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
122 -
123 (*__errno_location ()) -
124 = -
125 36-
126 ;-
127 goto
never executed: goto err;
err;
never executed: goto err;
0
128 }-
129 memcpy(next_token, left, s - left);-
130 next_token[s - left] = '\0';-
131 left_len -= s - left;-
132 if (p !=
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
133 ((void *)0)
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
134 )-
135 memmove(left, s + 1, left_len + 1);
never executed: memmove(left, s + 1, left_len + 1);
0
136 if (resolved[resolved_len - 1] != '/'
resolved[resol...en - 1] != '/'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
137 if (resolved_len + 1 >=
resolved_len + 1 >= 4096Description
TRUEnever evaluated
FALSEnever evaluated
0
138 4096
resolved_len + 1 >= 4096Description
TRUEnever evaluated
FALSEnever evaluated
0
139 ) {-
140 -
141 (*__errno_location ()) -
142 = -
143 36-
144 ;-
145 goto
never executed: goto err;
err;
never executed: goto err;
0
146 }-
147 resolved[resolved_len++] = '/';-
148 resolved[resolved_len] = '\0';-
149 }
never executed: end of block
0
150 if (next_token[0] == '\0'
next_token[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
151 continue;
never executed: continue;
0
152 else if (-
153 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
154 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
155 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
156 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
157 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
158 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
159 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
160 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
161 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
162 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
163 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
164 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
165 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
166 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
167 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
168 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
169 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
170 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
171 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
172 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
173 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
174 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
175 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
176 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
177 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
178 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
179 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
180 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
181 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
182 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
183 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
184 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
185 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
186 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
187 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
188 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
189 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
190 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
191 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
192 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
193 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
194 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
195 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
196 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
197 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
198 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
199 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( next_token ))[3] - __s2[3]);
0
200 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( next_token ))[3] - __s2[3]);
0
201 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
202 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
203 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
204 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
205 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
206 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
207 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
208 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
209 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
210 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
211 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
212 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
213 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
214 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
215 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
216 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
217 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
218 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
219 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
220 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
221 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
222 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
223 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
224 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
225 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
226 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
227 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "." ))[3] - __s2[3]);
0
228 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "." ))[3] - __s2[3]);
0
229 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
230 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
231 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
232 "."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
233 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
234 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
235 continue;
never executed: continue;
0
236 else if (-
237 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
238 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
239 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
240 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
241 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
242 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
243 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
244 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
245 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
246 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
247 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
248 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
249 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
250 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
251 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
252 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
253 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
254 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
255 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
256 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
257 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
258 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
259 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
260 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
261 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
262 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
263 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
264 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
265 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
266 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
267 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
268 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
269 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
270 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
271 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
272 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
273 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
274 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
275 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
276 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
277 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
278 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
279 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
280 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
281 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
282 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
283 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( next_token ))[3] - __s2[3]);
0
284 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( next_token ))[3] - __s2[3]);
0
285 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
286 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
287 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
288 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
289 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
290 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
291 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
292 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
293 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
294 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
295 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
296 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
297 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
298 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
299 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
300 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
301 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
302 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
303 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
304 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
305 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
306 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
307 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
308 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
309 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
310 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
311 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ".." ))[3] - __s2[3]);
0
312 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( ".." ))[3] - __s2[3]);
0
313 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
314 next_token
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
315 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
316 ".."
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
317 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
318 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
319-
320-
321-
322-
323 if (resolved_len > 1
resolved_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
324 resolved[resolved_len - 1] = '\0';-
325 q = strrchr(resolved, '/') + 1;-
326 *q = '\0';-
327 resolved_len = q - resolved;-
328 }
never executed: end of block
0
329 continue;
never executed: continue;
0
330 }-
331-
332-
333-
334-
335-
336-
337 resolved_len = strlcat(resolved, next_token, -
338 4096-
339 );-
340 if (resolved_len >=
resolved_len >= 4096Description
TRUEnever evaluated
FALSEnever evaluated
0
341 4096
resolved_len >= 4096Description
TRUEnever evaluated
FALSEnever evaluated
0
342 ) {-
343 -
344 (*__errno_location ()) -
345 = -
346 36-
347 ;-
348 goto
never executed: goto err;
err;
never executed: goto err;
0
349 }-
350 if (lstat(resolved, &sb) != 0
lstat(resolved, &sb) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
351 if (-
352 (*
(*__errno_location ()) == 2Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 2Description
TRUEnever evaluated
FALSEnever evaluated
0
353 ==
(*__errno_location ()) == 2Description
TRUEnever evaluated
FALSEnever evaluated
0
354 2
(*__errno_location ()) == 2Description
TRUEnever evaluated
FALSEnever evaluated
0
355 && p ==
p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
356 ((void *)0)
p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
357 ) {-
358 -
359 (*__errno_location ()) -
360 = serrno;-
361 return
never executed: return (resolved);
(resolved);
never executed: return (resolved);
0
362 }-
363 goto
never executed: goto err;
err;
never executed: goto err;
0
364 }-
365 if (-
366 ((((
(((( sb.st_mod... == (0120000))Description
TRUEnever evaluated
FALSEnever evaluated
0
367 sb.st_mode
(((( sb.st_mod... == (0120000))Description
TRUEnever evaluated
FALSEnever evaluated
0
368 )) & 0170000) == (0120000))
(((( sb.st_mod... == (0120000))Description
TRUEnever evaluated
FALSEnever evaluated
0
369 ) {-
370 if (symlinks++ > 32
symlinks++ > 32Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
371 -
372 (*__errno_location ()) -
373 = -
374 40-
375 ;-
376 goto
never executed: goto err;
err;
never executed: goto err;
0
377 }-
378 slen = readlink(resolved, symlink, sizeof(symlink) - 1);-
379 if (slen < 0
slen < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
380 goto
never executed: goto err;
err;
never executed: goto err;
0
381 symlink[slen] = '\0';-
382 if (symlink[0] == '/'
symlink[0] == '/'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
383 resolved[1] = 0;-
384 resolved_len = 1;-
385 }
never executed: end of block
else if (resolved_len > 1
resolved_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
386-
387 resolved[resolved_len - 1] = '\0';-
388 q = strrchr(resolved, '/') + 1;-
389 *q = '\0';-
390 resolved_len = q - resolved;-
391 }
never executed: end of block
0
392-
393-
394-
395-
396-
397-
398 if (p !=
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
399 ((void *)0)
p != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
400 ) {-
401 if (symlink[slen - 1] != '/'
symlink[slen - 1] != '/'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
402 if (slen + 1 >=
slen + 1 >= (p...izeof(symlink)Description
TRUEnever evaluated
FALSEnever evaluated
0
403 (ptrdiff_t)sizeof(symlink)
slen + 1 >= (p...izeof(symlink)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
404 -
405 (*__errno_location ()) -
406 = -
407 36-
408 ;-
409 goto
never executed: goto err;
err;
never executed: goto err;
0
410 }-
411 symlink[slen] = '/';-
412 symlink[slen + 1] = 0;-
413 }
never executed: end of block
0
414 left_len = strlcat(symlink, left, sizeof(symlink));-
415 if (left_len >= sizeof(symlink)
left_len >= sizeof(symlink)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
416 -
417 (*__errno_location ()) -
418 = -
419 36-
420 ;-
421 goto
never executed: goto err;
err;
never executed: goto err;
0
422 }-
423 }
never executed: end of block
0
424 left_len = strlcpy(left, symlink, sizeof(left));-
425 }
never executed: end of block
0
426 }
never executed: end of block
0
427-
428-
429-
430-
431-
432 if (resolved_len > 1
resolved_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& resolved[resolved_len - 1] == '/'
resolved[resol...en - 1] == '/'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
433 resolved[resolved_len - 1] = '\0';
never executed: resolved[resolved_len - 1] = '\0';
0
434 return
never executed: return (resolved);
(resolved);
never executed: return (resolved);
0
435-
436err:-
437 if (mem_allocated
mem_allocatedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
438 free(resolved);
never executed: free(resolved);
0
439 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
440 ((void *)0)
never executed: return ( ((void *)0) );
0
441 );
never executed: return ( ((void *)0) );
0
442}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2