Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/coreutils/src/src/chroot.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||
3 | static inline | - | ||||||||||||||||||||||||
4 | _Bool | - | ||||||||||||||||||||||||
5 | uid_unset (uid_t uid) { return never executed: uid == (uid_t) -1;return uid == (uid_t) -1; never executed: }return uid == (uid_t) -1; | 0 | ||||||||||||||||||||||||
6 | static inline | - | ||||||||||||||||||||||||
7 | _Bool | - | ||||||||||||||||||||||||
8 | gid_unset (gid_t gid) { return never executed: gid == (gid_t) -1;return gid == (gid_t) -1; never executed: }return gid == (gid_t) -1; | 0 | ||||||||||||||||||||||||
9 | - | |||||||||||||||||||||||||
10 | - | |||||||||||||||||||||||||
11 | - | |||||||||||||||||||||||||
12 | enum | - | ||||||||||||||||||||||||
13 | { | - | ||||||||||||||||||||||||
14 | GROUPS = | - | ||||||||||||||||||||||||
15 | (0x7f * 2 + 1) | - | ||||||||||||||||||||||||
16 | + 1, | - | ||||||||||||||||||||||||
17 | USERSPEC, | - | ||||||||||||||||||||||||
18 | SKIP_CHDIR | - | ||||||||||||||||||||||||
19 | }; | - | ||||||||||||||||||||||||
20 | - | |||||||||||||||||||||||||
21 | static struct option const long_opts[] = | - | ||||||||||||||||||||||||
22 | { | - | ||||||||||||||||||||||||
23 | {"groups", | - | ||||||||||||||||||||||||
24 | 1 | - | ||||||||||||||||||||||||
25 | , | - | ||||||||||||||||||||||||
26 | ((void *)0) | - | ||||||||||||||||||||||||
27 | , GROUPS}, | - | ||||||||||||||||||||||||
28 | {"userspec", | - | ||||||||||||||||||||||||
29 | 1 | - | ||||||||||||||||||||||||
30 | , | - | ||||||||||||||||||||||||
31 | ((void *)0) | - | ||||||||||||||||||||||||
32 | , USERSPEC}, | - | ||||||||||||||||||||||||
33 | {"skip-chdir", | - | ||||||||||||||||||||||||
34 | 0 | - | ||||||||||||||||||||||||
35 | , | - | ||||||||||||||||||||||||
36 | ((void *)0) | - | ||||||||||||||||||||||||
37 | , SKIP_CHDIR}, | - | ||||||||||||||||||||||||
38 | {"help", | - | ||||||||||||||||||||||||
39 | 0 | - | ||||||||||||||||||||||||
40 | , | - | ||||||||||||||||||||||||
41 | ((void *)0) | - | ||||||||||||||||||||||||
42 | , GETOPT_HELP_CHAR}, | - | ||||||||||||||||||||||||
43 | {"version", | - | ||||||||||||||||||||||||
44 | 0 | - | ||||||||||||||||||||||||
45 | , | - | ||||||||||||||||||||||||
46 | ((void *)0) | - | ||||||||||||||||||||||||
47 | , GETOPT_VERSION_CHAR}, | - | ||||||||||||||||||||||||
48 | { | - | ||||||||||||||||||||||||
49 | ((void *)0) | - | ||||||||||||||||||||||||
50 | , 0, | - | ||||||||||||||||||||||||
51 | ((void *)0) | - | ||||||||||||||||||||||||
52 | , 0} | - | ||||||||||||||||||||||||
53 | }; | - | ||||||||||||||||||||||||
54 | static int | - | ||||||||||||||||||||||||
55 | parse_additional_groups (char const *groups, gid_t **pgids, | - | ||||||||||||||||||||||||
56 | size_t *pn_gids, | - | ||||||||||||||||||||||||
57 | _Bool | - | ||||||||||||||||||||||||
58 | show_errors) | - | ||||||||||||||||||||||||
59 | { | - | ||||||||||||||||||||||||
60 | gid_t *gids = | - | ||||||||||||||||||||||||
61 | ((void *)0) | - | ||||||||||||||||||||||||
62 | ; | - | ||||||||||||||||||||||||
63 | size_t n_gids_allocated = 0; | - | ||||||||||||||||||||||||
64 | size_t n_gids = 0; | - | ||||||||||||||||||||||||
65 | char *buffer = xstrdup (groups); | - | ||||||||||||||||||||||||
66 | char const *tmp; | - | ||||||||||||||||||||||||
67 | int ret = 0; | - | ||||||||||||||||||||||||
68 | - | |||||||||||||||||||||||||
69 | for (tmp = strtok (buffer, ","); tmp
| 0 | ||||||||||||||||||||||||
70 | ((void *)0) | - | ||||||||||||||||||||||||
71 | , ",")) | - | ||||||||||||||||||||||||
72 | { | - | ||||||||||||||||||||||||
73 | struct group *g; | - | ||||||||||||||||||||||||
74 | unsigned long int value; | - | ||||||||||||||||||||||||
75 | - | |||||||||||||||||||||||||
76 | if (xstrtoul (tmp,
| 0 | ||||||||||||||||||||||||
77 | ((void *)0)
| 0 | ||||||||||||||||||||||||
78 | , 10, &value, "") == LONGINT_OK
| 0 | ||||||||||||||||||||||||
79 | { | - | ||||||||||||||||||||||||
80 | while ( | - | ||||||||||||||||||||||||
81 | ((*
| 0 | ||||||||||||||||||||||||
82 | to_uchar (*tmp)
| 0 | ||||||||||||||||||||||||
83 | ))] & (unsigned short int) _ISspace)
| 0 | ||||||||||||||||||||||||
84 | ) | - | ||||||||||||||||||||||||
85 | tmp++; never executed: tmp++; | 0 | ||||||||||||||||||||||||
86 | if (*
| 0 | ||||||||||||||||||||||||
87 | { | - | ||||||||||||||||||||||||
88 | - | |||||||||||||||||||||||||
89 | g = getgrnam (tmp); | - | ||||||||||||||||||||||||
90 | if (g !=
| 0 | ||||||||||||||||||||||||
91 | ((void *)0)
| 0 | ||||||||||||||||||||||||
92 | ) | - | ||||||||||||||||||||||||
93 | value = g->gr_gid; never executed: value = g->gr_gid; | 0 | ||||||||||||||||||||||||
94 | } never executed: end of block | 0 | ||||||||||||||||||||||||
95 | - | |||||||||||||||||||||||||
96 | g = (struct group *) (intptr_t) ! | - | ||||||||||||||||||||||||
97 | ((void *)0) | - | ||||||||||||||||||||||||
98 | ; | - | ||||||||||||||||||||||||
99 | } never executed: end of block | 0 | ||||||||||||||||||||||||
100 | else | - | ||||||||||||||||||||||||
101 | { | - | ||||||||||||||||||||||||
102 | g = getgrnam (tmp); | - | ||||||||||||||||||||||||
103 | if (g !=
| 0 | ||||||||||||||||||||||||
104 | ((void *)0)
| 0 | ||||||||||||||||||||||||
105 | ) | - | ||||||||||||||||||||||||
106 | value = g->gr_gid; never executed: value = g->gr_gid; | 0 | ||||||||||||||||||||||||
107 | } never executed: end of block | 0 | ||||||||||||||||||||||||
108 | - | |||||||||||||||||||||||||
109 | if (g ==
| 0 | ||||||||||||||||||||||||
110 | ((void *)0)
| 0 | ||||||||||||||||||||||||
111 | ) | - | ||||||||||||||||||||||||
112 | { | - | ||||||||||||||||||||||||
113 | ret = -1; | - | ||||||||||||||||||||||||
114 | - | |||||||||||||||||||||||||
115 | if (show_errors
| 0 | ||||||||||||||||||||||||
116 | { | - | ||||||||||||||||||||||||
117 | error (0, | - | ||||||||||||||||||||||||
118 | (*__errno_location ()) | - | ||||||||||||||||||||||||
119 | , | - | ||||||||||||||||||||||||
120 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
121 | "invalid group %s" | - | ||||||||||||||||||||||||
122 | , 5) | - | ||||||||||||||||||||||||
123 | , quote (tmp)); | - | ||||||||||||||||||||||||
124 | continue; never executed: continue; | 0 | ||||||||||||||||||||||||
125 | } | - | ||||||||||||||||||||||||
126 | - | |||||||||||||||||||||||||
127 | break; never executed: break; | 0 | ||||||||||||||||||||||||
128 | } | - | ||||||||||||||||||||||||
129 | - | |||||||||||||||||||||||||
130 | if (n_gids == n_gids_allocated
| 0 | ||||||||||||||||||||||||
131 | gids = ((void) (!!sizeof (struct { _Static_assert (sizeof *(gids) != 1, "verify_true (" "sizeof *(gids) != 1" ")"); int _gl_dummy; })), x2nrealloc (gids, &n_gids_allocated, sizeof *(gids))); never executed: gids = ((void) (!!sizeof (struct { _Static_assert (sizeof *(gids) != 1, "verify_true (" "sizeof *(gids) != 1" ")"); int _gl_dummy; })), x2nrealloc (gids, &n_gids_allocated, sizeof *(gids))); | 0 | ||||||||||||||||||||||||
132 | gids[n_gids++] = value; | - | ||||||||||||||||||||||||
133 | } never executed: end of block | 0 | ||||||||||||||||||||||||
134 | - | |||||||||||||||||||||||||
135 | if (ret == 0
| 0 | ||||||||||||||||||||||||
136 | { | - | ||||||||||||||||||||||||
137 | if (show_errors
| 0 | ||||||||||||||||||||||||
138 | error (0, 0, never executed: error (0, 0, dcgettext (((void *)0), "invalid group list %s" , 5) , quote (groups)); | 0 | ||||||||||||||||||||||||
139 | dcgettext (((void *)0), never executed: error (0, 0, dcgettext (((void *)0), "invalid group list %s" , 5) , quote (groups)); | 0 | ||||||||||||||||||||||||
140 | "invalid group list %s" never executed: error (0, 0, dcgettext (((void *)0), "invalid group list %s" , 5) , quote (groups)); | 0 | ||||||||||||||||||||||||
141 | , 5) never executed: error (0, 0, dcgettext (((void *)0), "invalid group list %s" , 5) , quote (groups)); | 0 | ||||||||||||||||||||||||
142 | , quote (groups)); never executed: error (0, 0, dcgettext (((void *)0), "invalid group list %s" , 5) , quote (groups)); | 0 | ||||||||||||||||||||||||
143 | ret = -1; | - | ||||||||||||||||||||||||
144 | } never executed: end of block | 0 | ||||||||||||||||||||||||
145 | - | |||||||||||||||||||||||||
146 | *pgids = gids; | - | ||||||||||||||||||||||||
147 | - | |||||||||||||||||||||||||
148 | if (ret == 0
| 0 | ||||||||||||||||||||||||
149 | * never executed: pn_gids = n_gids;*pn_gids = n_gids; never executed: *pn_gids = n_gids; | 0 | ||||||||||||||||||||||||
150 | - | |||||||||||||||||||||||||
151 | free (buffer); | - | ||||||||||||||||||||||||
152 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||||||||||||||
153 | } | - | ||||||||||||||||||||||||
154 | - | |||||||||||||||||||||||||
155 | - | |||||||||||||||||||||||||
156 | - | |||||||||||||||||||||||||
157 | - | |||||||||||||||||||||||||
158 | - | |||||||||||||||||||||||||
159 | static | - | ||||||||||||||||||||||||
160 | _Bool | - | ||||||||||||||||||||||||
161 | - | |||||||||||||||||||||||||
162 | is_root (const char* dir) | - | ||||||||||||||||||||||||
163 | { | - | ||||||||||||||||||||||||
164 | char *resolved = canonicalize_file_name (dir); | - | ||||||||||||||||||||||||
165 | - | |||||||||||||||||||||||||
166 | _Bool | - | ||||||||||||||||||||||||
167 | is_res_root = resolved
| 0-2 | ||||||||||||||||||||||||
168 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
| 1 | ||||||||||||||||||||||||
169 | "/"
| 1 | ||||||||||||||||||||||||
170 | ) && __builtin_constant_p (
| 1 | ||||||||||||||||||||||||
171 | resolved
| 1 | ||||||||||||||||||||||||
172 | ) && (__s1_len = __builtin_strlen (
| 1 | ||||||||||||||||||||||||
173 | "/"
| 1 | ||||||||||||||||||||||||
174 | ), __s2_len = __builtin_strlen (
| 1 | ||||||||||||||||||||||||
175 | resolved
| 1 | ||||||||||||||||||||||||
176 | ), (!((size_t)(const void *)((
| 1 | ||||||||||||||||||||||||
177 | "/"
| 1 | ||||||||||||||||||||||||
178 | ) + 1) - (size_t)(const void *)(
| 1 | ||||||||||||||||||||||||
179 | "/"
| 1 | ||||||||||||||||||||||||
180 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
| 1 | ||||||||||||||||||||||||
181 | resolved
| 1 | ||||||||||||||||||||||||
182 | ) + 1) - (size_t)(const void *)(
| 1 | ||||||||||||||||||||||||
183 | resolved
| 1 | ||||||||||||||||||||||||
184 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
| 1 | ||||||||||||||||||||||||
185 | "/"
| 1 | ||||||||||||||||||||||||
186 | ,
| 1 | ||||||||||||||||||||||||
187 | resolved
| 1 | ||||||||||||||||||||||||
188 | ) : (__builtin_constant_p (
| 1 | ||||||||||||||||||||||||
189 | "/"
| 1 | ||||||||||||||||||||||||
190 | ) && ((size_t)(const void *)((
| 1 | ||||||||||||||||||||||||
191 | "/"
| 1 | ||||||||||||||||||||||||
192 | ) + 1) - (size_t)(const void *)(
| 1 | ||||||||||||||||||||||||
193 | "/"
| 1 | ||||||||||||||||||||||||
194 | ) == 1) && (__s1_len = __builtin_strlen (
| 1 | ||||||||||||||||||||||||
195 | "/"
| 1 | ||||||||||||||||||||||||
196 | ), __s1_len < 4) ? (__builtin_constant_p (
| 1 | ||||||||||||||||||||||||
197 | resolved
| 1 | ||||||||||||||||||||||||
198 | ) && ((size_t)(const void *)((
| 1 | ||||||||||||||||||||||||
199 | resolved
| 1 | ||||||||||||||||||||||||
200 | ) + 1) - (size_t)(const void *)(
| 1 | ||||||||||||||||||||||||
201 | resolved
| 1 | ||||||||||||||||||||||||
202 | ) == 1) ? __builtin_strcmp (
| 1 | ||||||||||||||||||||||||
203 | "/"
| 1 | ||||||||||||||||||||||||
204 | ,
| 1 | ||||||||||||||||||||||||
205 | resolved
| 1 | ||||||||||||||||||||||||
206 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 1 | ||||||||||||||||||||||||
207 | resolved
| 1 | ||||||||||||||||||||||||
208 | ); int __result = (((const unsigned char *) (const char *) (
| 1 | ||||||||||||||||||||||||
209 | "/"
| 1 | ||||||||||||||||||||||||
210 | ))[0] - __s2[0]); if (__s1_len > 0
| 0-2 | ||||||||||||||||||||||||
211 | "/"
| 1 | ||||||||||||||||||||||||
212 | ))[1] - __s2[1]); if (__s1_len > 1
| 0-2 | ||||||||||||||||||||||||
213 | "/"
| 1 | ||||||||||||||||||||||||
214 | ))[2] - __s2[2]); if (__s1_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( "/" ))[3] - __s2[3]);
| 0-1 | ||||||||||||||||||||||||
215 | "/"
never executed: __result = (((const unsigned char *) (const char *) ( "/" ))[3] - __s2[3]); | 0-1 | ||||||||||||||||||||||||
216 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( "/" ))[3] - __s2[3]); never executed: } __result; }))) : (__builtin_constant_p (end of block
| 0-2 | ||||||||||||||||||||||||
217 | resolved
| 1 | ||||||||||||||||||||||||
218 | ) && ((size_t)(const void *)((
| 1 | ||||||||||||||||||||||||
219 | resolved
| 1 | ||||||||||||||||||||||||
220 | ) + 1) - (size_t)(const void *)(
| 1 | ||||||||||||||||||||||||
221 | resolved
| 1 | ||||||||||||||||||||||||
222 | ) == 1) && (__s2_len = __builtin_strlen (
| 1 | ||||||||||||||||||||||||
223 | resolved
| 1 | ||||||||||||||||||||||||
224 | ), __s2_len < 4) ? (__builtin_constant_p (
| 1 | ||||||||||||||||||||||||
225 | "/"
| 1 | ||||||||||||||||||||||||
226 | ) && ((size_t)(const void *)((
| 1 | ||||||||||||||||||||||||
227 | "/"
| 1 | ||||||||||||||||||||||||
228 | ) + 1) - (size_t)(const void *)(
| 1 | ||||||||||||||||||||||||
229 | "/"
| 1 | ||||||||||||||||||||||||
230 | ) == 1) ? __builtin_strcmp (
| 1 | ||||||||||||||||||||||||
231 | "/"
| 1 | ||||||||||||||||||||||||
232 | ,
| 1 | ||||||||||||||||||||||||
233 | resolved
| 1 | ||||||||||||||||||||||||
234 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 1 | ||||||||||||||||||||||||
235 | "/"
| 1 | ||||||||||||||||||||||||
236 | ); int __result = (((const unsigned char *) (const char *) (
| 1 | ||||||||||||||||||||||||
237 | resolved
| 1 | ||||||||||||||||||||||||
238 | ))[0] - __s2[0]); if (__s2_len > 0
| 0-1 | ||||||||||||||||||||||||
239 | resolved
| 1 | ||||||||||||||||||||||||
240 | ))[1] - __s2[1]); if (__s2_len > 1
| 0-1 | ||||||||||||||||||||||||
241 | resolved
| 1 | ||||||||||||||||||||||||
242 | ))[2] - __s2[2]); if (__s2_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( resolved ))[3] - __s2[3]);
| 0-1 | ||||||||||||||||||||||||
243 | resolved
never executed: __result = (((const unsigned char *) (const char *) ( resolved ))[3] - __s2[3]); | 0-1 | ||||||||||||||||||||||||
244 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( resolved ))[3] - __s2[3]); never executed: }end of block never executed: __result; }))) : __builtin_strcmp (end of block
| 0-1 | ||||||||||||||||||||||||
245 | "/"
| 1 | ||||||||||||||||||||||||
246 | ,
| 1 | ||||||||||||||||||||||||
247 | resolved
| 1 | ||||||||||||||||||||||||
248 | )))); })
| 1 | ||||||||||||||||||||||||
249 | == 0)
| 1 | ||||||||||||||||||||||||
250 | free (resolved); | - | ||||||||||||||||||||||||
251 | return executed 2 times by 1 test: is_res_root;return is_res_root; Executed by:
executed 2 times by 1 test: return is_res_root; Executed by:
| 2 | ||||||||||||||||||||||||
252 | } | - | ||||||||||||||||||||||||
253 | - | |||||||||||||||||||||||||
254 | void | - | ||||||||||||||||||||||||
255 | usage (int status) | - | ||||||||||||||||||||||||
256 | { | - | ||||||||||||||||||||||||
257 | if (status !=
| 6 | ||||||||||||||||||||||||
258 | 0
| 6 | ||||||||||||||||||||||||
259 | ) | - | ||||||||||||||||||||||||
260 | do { fprintf ( | - | ||||||||||||||||||||||||
261 | stderr | - | ||||||||||||||||||||||||
262 | , | - | ||||||||||||||||||||||||
263 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
264 | "Try '%s --help' for more information.\n" | - | ||||||||||||||||||||||||
265 | , 5) | - | ||||||||||||||||||||||||
266 | , program_name); } executed 6 times by 1 test: while (0);end of block Executed by:
| 6 | ||||||||||||||||||||||||
267 | else | - | ||||||||||||||||||||||||
268 | { | - | ||||||||||||||||||||||||
269 | printf ( | - | ||||||||||||||||||||||||
270 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
271 | "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n or: %s OPTION\n" | - | ||||||||||||||||||||||||
272 | , 5) | - | ||||||||||||||||||||||||
273 | - | |||||||||||||||||||||||||
274 | - | |||||||||||||||||||||||||
275 | - | |||||||||||||||||||||||||
276 | , program_name, program_name); | - | ||||||||||||||||||||||||
277 | - | |||||||||||||||||||||||||
278 | fputs_unlocked ( | - | ||||||||||||||||||||||||
279 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
280 | "Run COMMAND with root directory set to NEWROOT.\n\n" | - | ||||||||||||||||||||||||
281 | , 5) | - | ||||||||||||||||||||||||
282 | , | - | ||||||||||||||||||||||||
283 | stdout | - | ||||||||||||||||||||||||
284 | ) | - | ||||||||||||||||||||||||
285 | - | |||||||||||||||||||||||||
286 | - | |||||||||||||||||||||||||
287 | ; | - | ||||||||||||||||||||||||
288 | - | |||||||||||||||||||||||||
289 | fputs_unlocked ( | - | ||||||||||||||||||||||||
290 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
291 | " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" | - | ||||||||||||||||||||||||
292 | , 5) | - | ||||||||||||||||||||||||
293 | , | - | ||||||||||||||||||||||||
294 | stdout | - | ||||||||||||||||||||||||
295 | ) | - | ||||||||||||||||||||||||
296 | - | |||||||||||||||||||||||||
297 | ; | - | ||||||||||||||||||||||||
298 | fputs_unlocked ( | - | ||||||||||||||||||||||||
299 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
300 | " --userspec=USER:GROUP specify user and group (ID or name) to use\n" | - | ||||||||||||||||||||||||
301 | , 5) | - | ||||||||||||||||||||||||
302 | , | - | ||||||||||||||||||||||||
303 | stdout | - | ||||||||||||||||||||||||
304 | ) | - | ||||||||||||||||||||||||
305 | - | |||||||||||||||||||||||||
306 | ; | - | ||||||||||||||||||||||||
307 | printf ( | - | ||||||||||||||||||||||||
308 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
309 | " --skip-chdir do not change working directory to %s\n" | - | ||||||||||||||||||||||||
310 | , 5) | - | ||||||||||||||||||||||||
311 | - | |||||||||||||||||||||||||
312 | - | |||||||||||||||||||||||||
313 | , quotearg_style (shell_escape_always_quoting_style, "/")); | - | ||||||||||||||||||||||||
314 | - | |||||||||||||||||||||||||
315 | fputs_unlocked ( | - | ||||||||||||||||||||||||
316 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
317 | " --help display this help and exit\n" | - | ||||||||||||||||||||||||
318 | , 5) | - | ||||||||||||||||||||||||
319 | , | - | ||||||||||||||||||||||||
320 | stdout | - | ||||||||||||||||||||||||
321 | ); | - | ||||||||||||||||||||||||
322 | fputs_unlocked ( | - | ||||||||||||||||||||||||
323 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
324 | " --version output version information and exit\n" | - | ||||||||||||||||||||||||
325 | , 5) | - | ||||||||||||||||||||||||
326 | , | - | ||||||||||||||||||||||||
327 | stdout | - | ||||||||||||||||||||||||
328 | ); | - | ||||||||||||||||||||||||
329 | fputs_unlocked ( | - | ||||||||||||||||||||||||
330 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
331 | "\nIf no command is given, run '\"$SHELL\" -i' (default: '/bin/sh -i').\n" | - | ||||||||||||||||||||||||
332 | , 5) | - | ||||||||||||||||||||||||
333 | , | - | ||||||||||||||||||||||||
334 | stdout | - | ||||||||||||||||||||||||
335 | ) | - | ||||||||||||||||||||||||
336 | - | |||||||||||||||||||||||||
337 | - | |||||||||||||||||||||||||
338 | ; | - | ||||||||||||||||||||||||
339 | emit_ancillary_info ("chroot"); | - | ||||||||||||||||||||||||
340 | } executed 6 times by 1 test: end of block Executed by:
| 6 | ||||||||||||||||||||||||
341 | exit (status); executed 12 times by 1 test: exit (status); Executed by:
| 12 | ||||||||||||||||||||||||
342 | } | - | ||||||||||||||||||||||||
343 | - | |||||||||||||||||||||||||
344 | int | - | ||||||||||||||||||||||||
345 | main (int argc, char **argv) | - | ||||||||||||||||||||||||
346 | { | - | ||||||||||||||||||||||||
347 | int c; | - | ||||||||||||||||||||||||
348 | - | |||||||||||||||||||||||||
349 | - | |||||||||||||||||||||||||
350 | char *userspec = | - | ||||||||||||||||||||||||
351 | ((void *)0) | - | ||||||||||||||||||||||||
352 | ; | - | ||||||||||||||||||||||||
353 | char const *username = | - | ||||||||||||||||||||||||
354 | ((void *)0) | - | ||||||||||||||||||||||||
355 | ; | - | ||||||||||||||||||||||||
356 | char const *groups = | - | ||||||||||||||||||||||||
357 | ((void *)0) | - | ||||||||||||||||||||||||
358 | ; | - | ||||||||||||||||||||||||
359 | - | |||||||||||||||||||||||||
360 | _Bool | - | ||||||||||||||||||||||||
361 | skip_chdir = | - | ||||||||||||||||||||||||
362 | 0 | - | ||||||||||||||||||||||||
363 | ; | - | ||||||||||||||||||||||||
364 | - | |||||||||||||||||||||||||
365 | - | |||||||||||||||||||||||||
366 | uid_t uid = -1; | - | ||||||||||||||||||||||||
367 | gid_t gid = -1; | - | ||||||||||||||||||||||||
368 | gid_t *out_gids = | - | ||||||||||||||||||||||||
369 | ((void *)0) | - | ||||||||||||||||||||||||
370 | ; | - | ||||||||||||||||||||||||
371 | size_t n_gids = 0; | - | ||||||||||||||||||||||||
372 | - | |||||||||||||||||||||||||
373 | ; | - | ||||||||||||||||||||||||
374 | set_program_name (argv[0]); | - | ||||||||||||||||||||||||
375 | setlocale ( | - | ||||||||||||||||||||||||
376 | 6 | - | ||||||||||||||||||||||||
377 | , ""); | - | ||||||||||||||||||||||||
378 | bindtextdomain ("coreutils", "/usr/local/share/locale"); | - | ||||||||||||||||||||||||
379 | textdomain ("coreutils"); | - | ||||||||||||||||||||||||
380 | - | |||||||||||||||||||||||||
381 | initialize_exit_failure (EXIT_CANCELED); | - | ||||||||||||||||||||||||
382 | atexit (close_stdout); | - | ||||||||||||||||||||||||
383 | - | |||||||||||||||||||||||||
384 | while ((
| 3-19 | ||||||||||||||||||||||||
385 | ((void *)0)
| 3-19 | ||||||||||||||||||||||||
386 | )) != -1
| 3-19 | ||||||||||||||||||||||||
387 | { | - | ||||||||||||||||||||||||
388 | switch (c) | - | ||||||||||||||||||||||||
389 | { | - | ||||||||||||||||||||||||
390 | case executed 1 time by 1 test: USERSPEC:case USERSPEC: Executed by:
executed 1 time by 1 test: case USERSPEC: Executed by:
| 1 | ||||||||||||||||||||||||
391 | { | - | ||||||||||||||||||||||||
392 | userspec = optarg; | - | ||||||||||||||||||||||||
393 | - | |||||||||||||||||||||||||
394 | - | |||||||||||||||||||||||||
395 | - | |||||||||||||||||||||||||
396 | size_t userlen = strlen (userspec); | - | ||||||||||||||||||||||||
397 | if (userlen
| 0-1 | ||||||||||||||||||||||||
398 | userspec[userlen - 1] = '\0'; never executed: userspec[userlen - 1] = '\0'; | 0 | ||||||||||||||||||||||||
399 | break; executed 1 time by 1 test: break; Executed by:
| 1 | ||||||||||||||||||||||||
400 | } | - | ||||||||||||||||||||||||
401 | - | |||||||||||||||||||||||||
402 | case executed 1 time by 1 test: GROUPS:case GROUPS: Executed by:
executed 1 time by 1 test: case GROUPS: Executed by:
| 1 | ||||||||||||||||||||||||
403 | groups = optarg; | - | ||||||||||||||||||||||||
404 | break; executed 1 time by 1 test: break; Executed by:
| 1 | ||||||||||||||||||||||||
405 | - | |||||||||||||||||||||||||
406 | case executed 2 times by 1 test: SKIP_CHDIR:case SKIP_CHDIR: Executed by:
executed 2 times by 1 test: case SKIP_CHDIR: Executed by:
| 2 | ||||||||||||||||||||||||
407 | skip_chdir = | - | ||||||||||||||||||||||||
408 | 1 | - | ||||||||||||||||||||||||
409 | ; | - | ||||||||||||||||||||||||
410 | break; executed 2 times by 1 test: break; Executed by:
| 2 | ||||||||||||||||||||||||
411 | - | |||||||||||||||||||||||||
412 | case executed 6 times by 1 test: GETOPT_HELP_CHAR:case GETOPT_HELP_CHAR: Executed by:
executed 6 times by 1 test: usage (case GETOPT_HELP_CHAR: Executed by:
| 6 | ||||||||||||||||||||||||
413 | 0 | - | ||||||||||||||||||||||||
414 | ); break; never executed: ;break; | 0 | ||||||||||||||||||||||||
415 | - | |||||||||||||||||||||||||
416 | case executed 5 times by 1 test: GETOPT_VERSION_CHAR:case GETOPT_VERSION_CHAR: Executed by:
executed 5 times by 1 test: version_etc (case GETOPT_VERSION_CHAR: Executed by:
| 5 | ||||||||||||||||||||||||
417 | stdout | - | ||||||||||||||||||||||||
418 | , "chroot", "GNU coreutils", Version, ("Roland McGrath"), (char *) | - | ||||||||||||||||||||||||
419 | ((void *)0) | - | ||||||||||||||||||||||||
420 | ); exit ( executed 5 times by 1 test: exit ( 0 ); Executed by:
| 5 | ||||||||||||||||||||||||
421 | 0 executed 5 times by 1 test: exit ( 0 ); Executed by:
| 5 | ||||||||||||||||||||||||
422 | ); executed 5 times by 1 test: break;exit ( 0 ); Executed by:
never executed: ;break; | 0-5 | ||||||||||||||||||||||||
423 | - | |||||||||||||||||||||||||
424 | default executed 4 times by 1 test: :default: Executed by:
executed 4 times by 1 test: default: Executed by:
| 4 | ||||||||||||||||||||||||
425 | usage (EXIT_CANCELED); | - | ||||||||||||||||||||||||
426 | } never executed: end of block | 0 | ||||||||||||||||||||||||
427 | } | - | ||||||||||||||||||||||||
428 | - | |||||||||||||||||||||||||
429 | if (argc <= optind
| 1-2 | ||||||||||||||||||||||||
430 | { | - | ||||||||||||||||||||||||
431 | error (0, 0, | - | ||||||||||||||||||||||||
432 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
433 | "missing operand" | - | ||||||||||||||||||||||||
434 | , 5) | - | ||||||||||||||||||||||||
435 | ); | - | ||||||||||||||||||||||||
436 | usage (EXIT_CANCELED); | - | ||||||||||||||||||||||||
437 | } never executed: end of block | 0 | ||||||||||||||||||||||||
438 | - | |||||||||||||||||||||||||
439 | char const *newroot = argv[optind]; | - | ||||||||||||||||||||||||
440 | - | |||||||||||||||||||||||||
441 | _Bool | - | ||||||||||||||||||||||||
442 | is_oldroot = is_root (newroot); | - | ||||||||||||||||||||||||
443 | - | |||||||||||||||||||||||||
444 | if (! is_oldroot
| 0-1 | ||||||||||||||||||||||||
445 | { | - | ||||||||||||||||||||||||
446 | error (0, 0, | - | ||||||||||||||||||||||||
447 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
448 | "option --skip-chdir only permitted if NEWROOT is old %s" | - | ||||||||||||||||||||||||
449 | , 5) | - | ||||||||||||||||||||||||
450 | , | - | ||||||||||||||||||||||||
451 | quotearg_style (shell_escape_always_quoting_style, "/")); | - | ||||||||||||||||||||||||
452 | usage (EXIT_CANCELED); | - | ||||||||||||||||||||||||
453 | } never executed: end of block | 0 | ||||||||||||||||||||||||
454 | - | |||||||||||||||||||||||||
455 | if (! is_oldroot
| 0-1 | ||||||||||||||||||||||||
456 | { | - | ||||||||||||||||||||||||
457 | - | |||||||||||||||||||||||||
458 | - | |||||||||||||||||||||||||
459 | - | |||||||||||||||||||||||||
460 | - | |||||||||||||||||||||||||
461 | - | |||||||||||||||||||||||||
462 | - | |||||||||||||||||||||||||
463 | if (userspec
| 0 | ||||||||||||||||||||||||
464 | ( never executed: __extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
465 | ((void *)0) never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
466 | , never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
467 | ((void *)0) never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
468 | )) __x = (parse_user_spec (userspec, &uid, &gid, never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
469 | ((void *)0) never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
470 | , never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
471 | ((void *)0) never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
472 | )); (void) __x; })); never executed: (__extension__ ({ __typeof__ (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )) __x = (parse_user_spec (userspec, &uid, &gid, ((void *)0) , ((void *)0) )); (void) __x; })); | 0 | ||||||||||||||||||||||||
473 | - | |||||||||||||||||||||||||
474 | - | |||||||||||||||||||||||||
475 | - | |||||||||||||||||||||||||
476 | if ((
| 0 | ||||||||||||||||||||||||
477 | { | - | ||||||||||||||||||||||||
478 | const struct passwd *pwd; | - | ||||||||||||||||||||||||
479 | if ((
| 0 | ||||||||||||||||||||||||
480 | { | - | ||||||||||||||||||||||||
481 | if (gid_unset (gid)
| 0 | ||||||||||||||||||||||||
482 | gid = pwd->pw_gid; never executed: gid = pwd->pw_gid; | 0 | ||||||||||||||||||||||||
483 | username = pwd->pw_name; | - | ||||||||||||||||||||||||
484 | } never executed: end of block | 0 | ||||||||||||||||||||||||
485 | } never executed: end of block | 0 | ||||||||||||||||||||||||
486 | - | |||||||||||||||||||||||||
487 | if (groups
| 0 | ||||||||||||||||||||||||
488 | ( never executed: __extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, (__extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, 0 )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, 0 )); (void) __x; })) ; never executed: (__extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, 0 )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, 0 )); (void) __x; })) ; | 0 | ||||||||||||||||||||||||
489 | 0 never executed: (__extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, 0 )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, 0 )); (void) __x; })) ; | 0 | ||||||||||||||||||||||||
490 | )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, never executed: (__extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, 0 )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, 0 )); (void) __x; })) ; | 0 | ||||||||||||||||||||||||
491 | 0 never executed: (__extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, 0 )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, 0 )); (void) __x; })) ; | 0 | ||||||||||||||||||||||||
492 | )); (void) __x; })) never executed: (__extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, 0 )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, 0 )); (void) __x; })) ; | 0 | ||||||||||||||||||||||||
493 | ; never executed: (__extension__ ({ __typeof__ (parse_additional_groups (groups, &out_gids, &n_gids, 0 )) __x = (parse_additional_groups (groups, &out_gids, &n_gids, 0 )); (void) __x; })) ; | 0 | ||||||||||||||||||||||||
494 | - | |||||||||||||||||||||||||
495 | else if (! groups
| 0 | ||||||||||||||||||||||||
496 | { | - | ||||||||||||||||||||||||
497 | int ngroups = xgetgroups (username, gid, &out_gids); | - | ||||||||||||||||||||||||
498 | if (0 < ngroups
| 0 | ||||||||||||||||||||||||
499 | n_gids = ngroups; never executed: n_gids = ngroups; | 0 | ||||||||||||||||||||||||
500 | } never executed: end of block | 0 | ||||||||||||||||||||||||
501 | - | |||||||||||||||||||||||||
502 | } never executed: end of block | 0 | ||||||||||||||||||||||||
503 | - | |||||||||||||||||||||||||
504 | if (chroot (newroot) != 0
| 0-1 | ||||||||||||||||||||||||
505 | (( executed 1 time by 1 test: !!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style, newroot)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
506 | (*__errno_location ()) executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
507 | , executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
508 | dcgettext (((void *)0), executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
509 | "cannot change root directory to %s" executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
510 | , 5) executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
511 | , quotearg_style (shell_escape_always_quoting_style, newroot)), (( executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
512 | 0 executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
513 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
514 | (*__errno_location ()) executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
515 | , executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
516 | dcgettext (((void *)0), executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
517 | "cannot change root directory to %s" executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
518 | , 5) executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
519 | , quotearg_style (shell_escape_always_quoting_style, newroot)), (( executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
520 | 0 executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
521 | ) ? (void) 0 : __builtin_unreachable ())))) executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
522 | ; executed 1 time by 1 test: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot change root directory to %s\", 5), quotearg_style (shell_escape_always_quoting_style,...iltin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot change root directory to %s" , 5) , quotearg_style (shell_escape_always_quoting_style, newroot)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; Executed by:
| 1 | ||||||||||||||||||||||||
523 | - | |||||||||||||||||||||||||
524 | if (! skip_chdir
| 0 | ||||||||||||||||||||||||
525 | (( never executed: !!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
526 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
527 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
528 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
529 | "cannot chdir to root directory" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
530 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
531 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
532 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
533 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
534 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
535 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
536 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
537 | "cannot chdir to root directory" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
538 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
539 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
540 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
541 | ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"cannot chdir to root directory\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (... "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "cannot chdir to root directory" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
542 | - | |||||||||||||||||||||||||
543 | if (argc == optind + 1
| 0 | ||||||||||||||||||||||||
544 | { | - | ||||||||||||||||||||||||
545 | - | |||||||||||||||||||||||||
546 | char *shell = getenv ("SHELL"); | - | ||||||||||||||||||||||||
547 | if (shell ==
| 0 | ||||||||||||||||||||||||
548 | ((void *)0)
| 0 | ||||||||||||||||||||||||
549 | ) | - | ||||||||||||||||||||||||
550 | shell = bad_cast ("/bin/sh"); never executed: shell = bad_cast ("/bin/sh"); | 0 | ||||||||||||||||||||||||
551 | argv[0] = shell; | - | ||||||||||||||||||||||||
552 | argv[1] = bad_cast ("-i"); | - | ||||||||||||||||||||||||
553 | argv[2] = | - | ||||||||||||||||||||||||
554 | ((void *)0) | - | ||||||||||||||||||||||||
555 | ; | - | ||||||||||||||||||||||||
556 | } never executed: end of block | 0 | ||||||||||||||||||||||||
557 | else | - | ||||||||||||||||||||||||
558 | { | - | ||||||||||||||||||||||||
559 | - | |||||||||||||||||||||||||
560 | argv += optind + 1; | - | ||||||||||||||||||||||||
561 | } never executed: end of block | 0 | ||||||||||||||||||||||||
562 | - | |||||||||||||||||||||||||
563 | - | |||||||||||||||||||||||||
564 | - | |||||||||||||||||||||||||
565 | if (userspec
| 0 | ||||||||||||||||||||||||
566 | { | - | ||||||||||||||||||||||||
567 | char const *err = parse_user_spec (userspec, &uid, &gid, | - | ||||||||||||||||||||||||
568 | ((void *)0) | - | ||||||||||||||||||||||||
569 | , | - | ||||||||||||||||||||||||
570 | ((void *)0) | - | ||||||||||||||||||||||||
571 | ); | - | ||||||||||||||||||||||||
572 | - | |||||||||||||||||||||||||
573 | if (err
| 0 | ||||||||||||||||||||||||
574 | (( never executed: !!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
575 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
576 | , "%s", (err)), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
577 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
578 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
579 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
580 | , "%s", (err)), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
581 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
582 | ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), \"%s\", (err)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , "%s", (err)), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
583 | } never executed: end of block | 0 | ||||||||||||||||||||||||
584 | - | |||||||||||||||||||||||||
585 | - | |||||||||||||||||||||||||
586 | - | |||||||||||||||||||||||||
587 | if ((
| 0 | ||||||||||||||||||||||||
588 | { | - | ||||||||||||||||||||||||
589 | const struct passwd *pwd; | - | ||||||||||||||||||||||||
590 | if ((
| 0 | ||||||||||||||||||||||||
591 | { | - | ||||||||||||||||||||||||
592 | if (gid_unset (gid)
| 0 | ||||||||||||||||||||||||
593 | gid = pwd->pw_gid; never executed: gid = pwd->pw_gid; | 0 | ||||||||||||||||||||||||
594 | username = pwd->pw_name; | - | ||||||||||||||||||||||||
595 | } never executed: end of block | 0 | ||||||||||||||||||||||||
596 | else if (gid_unset (gid)
| 0 | ||||||||||||||||||||||||
597 | { | - | ||||||||||||||||||||||||
598 | ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"no group specified for unknown uid: %d\", 5), (int) uid), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, | - | ||||||||||||||||||||||||
599 | (*__errno_location ()) | - | ||||||||||||||||||||||||
600 | , | - | ||||||||||||||||||||||||
601 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
602 | "no group specified for unknown uid: %d" | - | ||||||||||||||||||||||||
603 | , 5) | - | ||||||||||||||||||||||||
604 | , (int) uid), (( | - | ||||||||||||||||||||||||
605 | 0 | - | ||||||||||||||||||||||||
606 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, | - | ||||||||||||||||||||||||
607 | (*__errno_location ()) | - | ||||||||||||||||||||||||
608 | , | - | ||||||||||||||||||||||||
609 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
610 | "no group specified for unknown uid: %d" | - | ||||||||||||||||||||||||
611 | , 5) | - | ||||||||||||||||||||||||
612 | , (int) uid), (( | - | ||||||||||||||||||||||||
613 | 0 | - | ||||||||||||||||||||||||
614 | ) ? (void) 0 : __builtin_unreachable ())))) | - | ||||||||||||||||||||||||
615 | ; | - | ||||||||||||||||||||||||
616 | } never executed: end of block | 0 | ||||||||||||||||||||||||
617 | } never executed: end of block | 0 | ||||||||||||||||||||||||
618 | - | |||||||||||||||||||||||||
619 | gid_t *gids = out_gids; | - | ||||||||||||||||||||||||
620 | gid_t *in_gids = | - | ||||||||||||||||||||||||
621 | ((void *)0) | - | ||||||||||||||||||||||||
622 | ; | - | ||||||||||||||||||||||||
623 | if (groups
| 0 | ||||||||||||||||||||||||
624 | { | - | ||||||||||||||||||||||||
625 | if (parse_additional_groups (groups, &in_gids, &n_gids, !n_gids) != 0
| 0 | ||||||||||||||||||||||||
626 | { | - | ||||||||||||||||||||||||
627 | if (! n_gids
| 0 | ||||||||||||||||||||||||
628 | return never executed: EXIT_CANCELED;return EXIT_CANCELED; never executed: return EXIT_CANCELED; | 0 | ||||||||||||||||||||||||
629 | - | |||||||||||||||||||||||||
630 | } never executed: end of block | 0 | ||||||||||||||||||||||||
631 | else | - | ||||||||||||||||||||||||
632 | gids = in_gids; never executed: gids = in_gids; | 0 | ||||||||||||||||||||||||
633 | } | - | ||||||||||||||||||||||||
634 | - | |||||||||||||||||||||||||
635 | else if (! groups
| 0 | ||||||||||||||||||||||||
636 | { | - | ||||||||||||||||||||||||
637 | int ngroups = xgetgroups (username, gid, &in_gids); | - | ||||||||||||||||||||||||
638 | if (ngroups <= 0
| 0 | ||||||||||||||||||||||||
639 | { | - | ||||||||||||||||||||||||
640 | if (! n_gids
| 0 | ||||||||||||||||||||||||
641 | (( never executed: !!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
642 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
643 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
644 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
645 | "failed to get supplemental groups" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
646 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
647 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
648 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
649 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
650 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
651 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
652 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
653 | "failed to get supplemental groups" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
654 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
655 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
656 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
657 | ) ? (void) 0 : __builtin_unreachable ())))) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
658 | ; never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to get supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...d to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to get supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ; | 0 | ||||||||||||||||||||||||
659 | - | |||||||||||||||||||||||||
660 | } never executed: end of block | 0 | ||||||||||||||||||||||||
661 | else | - | ||||||||||||||||||||||||
662 | { | - | ||||||||||||||||||||||||
663 | n_gids = ngroups; | - | ||||||||||||||||||||||||
664 | gids = in_gids; | - | ||||||||||||||||||||||||
665 | } never executed: end of block | 0 | ||||||||||||||||||||||||
666 | } | - | ||||||||||||||||||||||||
667 | - | |||||||||||||||||||||||||
668 | - | |||||||||||||||||||||||||
669 | if (((
| 0 | ||||||||||||||||||||||||
670 | (( never executed: !!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
671 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
672 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
673 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
674 | "failed to set supplemental groups" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
675 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
676 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
677 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
678 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
679 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
680 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
681 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
682 | "failed to set supplemental groups" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
683 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
684 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
685 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
686 | ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set supplemental groups\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((erro...ed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set supplemental groups" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
687 | - | |||||||||||||||||||||||||
688 | free (in_gids); | - | ||||||||||||||||||||||||
689 | free (out_gids); | - | ||||||||||||||||||||||||
690 | - | |||||||||||||||||||||||||
691 | if ((
| 0 | ||||||||||||||||||||||||
692 | (( never executed: !!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
693 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
694 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
695 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
696 | "failed to set group-ID" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
697 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
698 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
699 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
700 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
701 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
702 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
703 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
704 | "failed to set group-ID" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
705 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
706 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
707 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
708 | ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set group-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CAN...xt (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set group-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
709 | - | |||||||||||||||||||||||||
710 | if ((
| 0 | ||||||||||||||||||||||||
711 | (( never executed: !!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANCELED, ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
712 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
713 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
714 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
715 | "failed to set user-ID" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
716 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
717 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
718 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
719 | ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
720 | (*__errno_location ()) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
721 | , never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
722 | dcgettext (((void *)0), never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
723 | "failed to set user-ID" never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
724 | , 5) never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
725 | ), (( never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
726 | 0 never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
727 | ) ? (void) 0 : __builtin_unreachable ())))); never executed: ((!!sizeof (struct { _Static_assert (EXIT_CANCELED, "verify_expr (" "EXIT_CANCELED" ", " "(error (EXIT_CANCELED, (*__errno_location ()), dcgettext (((void *)0), \"failed to set user-ID\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error (EXIT_CANC...text (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error (EXIT_CANCELED, (*__errno_location ()) , dcgettext (((void *)0), "failed to set user-ID" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||||||||||||||
728 | - | |||||||||||||||||||||||||
729 | - | |||||||||||||||||||||||||
730 | execvp (argv[0], argv); | - | ||||||||||||||||||||||||
731 | - | |||||||||||||||||||||||||
732 | int exit_status = | - | ||||||||||||||||||||||||
733 | (*
| 0 | ||||||||||||||||||||||||
734 | ==
| 0 | ||||||||||||||||||||||||
735 | 2
| 0 | ||||||||||||||||||||||||
736 | ? EXIT_ENOENT : EXIT_CANNOT_INVOKE; | - | ||||||||||||||||||||||||
737 | error (0, | - | ||||||||||||||||||||||||
738 | (*__errno_location ()) | - | ||||||||||||||||||||||||
739 | , | - | ||||||||||||||||||||||||
740 | dcgettext (((void *)0), | - | ||||||||||||||||||||||||
741 | "failed to run command %s" | - | ||||||||||||||||||||||||
742 | , 5) | - | ||||||||||||||||||||||||
743 | , quote (argv[0])); | - | ||||||||||||||||||||||||
744 | return never executed: exit_status;return exit_status; never executed: return exit_status; | 0 | ||||||||||||||||||||||||
745 | } | - | ||||||||||||||||||||||||
Switch to Source code | Preprocessed file |