| 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 blocknever 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 blockExecuted 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 blockExecuted 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 |