mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-12-28 06:35:34 +07:00
main: interpret all argv[] arguments unconditionally when run in a container
This commit is contained in:
parent
a2c422cbbe
commit
d821e6d69a
38
src/main.c
38
src/main.c
@ -828,30 +828,28 @@ static int parse_argv(int argc, char *argv[]) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (optind < argc) {
|
if (optind < argc && getpid() != 1) {
|
||||||
if (getpid() != 1) {
|
/* Hmm, when we aren't run as init system
|
||||||
/* Hmm, when we aren't run as init system
|
* let's complain about excess arguments */
|
||||||
* let's complain about excess arguments */
|
|
||||||
|
|
||||||
log_error("Excess arguments.");
|
log_error("Excess arguments.");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
} else if (detect_container(NULL) > 0) {
|
if (detect_container(NULL) > 0) {
|
||||||
char **a;
|
char **a;
|
||||||
|
|
||||||
/* All /proc/cmdline arguments the kernel
|
/* All /proc/cmdline arguments the kernel didn't
|
||||||
* didn't understand it passed to us. We're
|
* understand it passed to us. We're not really
|
||||||
* note really interested in that usually
|
* interested in that usually since /proc/cmdline is
|
||||||
* since /proc/cmdline is more interesting and
|
* more interesting and complete. With one exception:
|
||||||
* complete. With one exception: if we are run
|
* if we are run in a container /proc/cmdline is not
|
||||||
* in a container /proc/cmdline is not
|
* relevant for the container, hence we rely on argv[]
|
||||||
* relevant for us, hence we rely on argv[]
|
* instead. */
|
||||||
* instead. */
|
|
||||||
|
|
||||||
for (a = argv; a < argv + argc; a++)
|
for (a = argv; a < argv + argc; a++)
|
||||||
if ((r = parse_proc_cmdline_word(*a)) < 0)
|
if ((r = parse_proc_cmdline_word(*a)) < 0)
|
||||||
return r;
|
return r;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user