cmdline: correctly assign argv to nsjconf->argv
This commit is contained in:
parent
2545fcd3a9
commit
f8d0e5fda1
@ -363,8 +363,8 @@ std::unique_ptr<nsjconf_t> parseArgs(int argc, char* argv[]) {
|
|||||||
nsjconf->iface_vs_gw = "0.0.0.0";
|
nsjconf->iface_vs_gw = "0.0.0.0";
|
||||||
nsjconf->orig_uid = getuid();
|
nsjconf->orig_uid = getuid();
|
||||||
nsjconf->num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
|
nsjconf->num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
|
||||||
nsjconf->seccomp_fprog.filter = NULL;
|
nsjconf->seccomp_fprog.filter = NULL;
|
||||||
nsjconf->seccomp_fprog.len = 0;
|
nsjconf->seccomp_fprog.len = 0;
|
||||||
|
|
||||||
nsjconf->openfds.push_back(STDIN_FILENO);
|
nsjconf->openfds.push_back(STDIN_FILENO);
|
||||||
nsjconf->openfds.push_back(STDOUT_FILENO);
|
nsjconf->openfds.push_back(STDOUT_FILENO);
|
||||||
@ -792,8 +792,8 @@ std::unique_ptr<nsjconf_t> parseArgs(int argc, char* argv[]) {
|
|||||||
nsjconf->gids.push_back(gid);
|
nsjconf->gids.push_back(gid);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (size_t i = optind; optind < argc; i++) {
|
for (int i = optind; i < argc; i++) {
|
||||||
nsjconf->argv[i] = argv[optind];
|
nsjconf->argv.push_back(argv[i]);
|
||||||
}
|
}
|
||||||
if (nsjconf->argv.empty()) {
|
if (nsjconf->argv.empty()) {
|
||||||
cmdlineUsage(argv[0]);
|
cmdlineUsage(argv[0]);
|
||||||
|
@ -179,12 +179,12 @@ int main(int argc, char* argv[]) {
|
|||||||
LOG_F("Couldn't prepare sandboxing policy");
|
LOG_F("Couldn't prepare sandboxing policy");
|
||||||
}
|
}
|
||||||
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
if (nsjconf->mode == MODE_LISTEN_TCP) {
|
if (nsjconf->mode == MODE_LISTEN_TCP) {
|
||||||
nsjailListenMode(nsjconf.get());
|
nsjailListenMode(nsjconf.get());
|
||||||
} else {
|
} else {
|
||||||
ret = nsjailStandaloneMode(nsjconf.get());
|
ret = nsjailStandaloneMode(nsjconf.get());
|
||||||
}
|
}
|
||||||
sandbox::closePolicy(nsjconf.get());
|
sandbox::closePolicy(nsjconf.get());
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
12
sandbox.cc
12
sandbox.cc
@ -96,12 +96,12 @@ bool preparePolicy(nsjconf_t* nsjconf) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void closePolicy(nsjconf_t* nsjconf) {
|
void closePolicy(nsjconf_t* nsjconf) {
|
||||||
if (!nsjconf->seccomp_fprog.filter) {
|
if (!nsjconf->seccomp_fprog.filter) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
free(nsjconf->seccomp_fprog.filter);
|
free(nsjconf->seccomp_fprog.filter);
|
||||||
nsjconf->seccomp_fprog.filter = nullptr;
|
nsjconf->seccomp_fprog.filter = nullptr;
|
||||||
nsjconf->seccomp_fprog.len = 0;
|
nsjconf->seccomp_fprog.len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace sandbox
|
} // namespace sandbox
|
||||||
|
Loading…
Reference in New Issue
Block a user