cmdline: correctly assign argv to nsjconf->argv
authorRobert Swiecki <robert@swiecki.net>
Mon, 12 Feb 2018 16:31:45 +0000 (17:31 +0100)
committerRobert Swiecki <robert@swiecki.net>
Mon, 12 Feb 2018 16:31:45 +0000 (17:31 +0100)
cmdline.cc
nsjail.cc
sandbox.cc

index b738984678a4a2afcf40cca7dea21293206ea55e..397726eb606e94ef0fd42cd6dd6d785f3d4d241e 100644 (file)
@@ -363,8 +363,8 @@ std::unique_ptr<nsjconf_t> parseArgs(int argc, char* argv[]) {
        nsjconf->iface_vs_gw = "0.0.0.0";
        nsjconf->orig_uid = getuid();
        nsjconf->num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
-        nsjconf->seccomp_fprog.filter = NULL;
-        nsjconf->seccomp_fprog.len = 0;
+       nsjconf->seccomp_fprog.filter = NULL;
+       nsjconf->seccomp_fprog.len = 0;
 
        nsjconf->openfds.push_back(STDIN_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);
        }
 
-       for (size_t i = optind; optind < argc; i++) {
-               nsjconf->argv[i] = argv[optind];
+       for (int i = optind; i < argc; i++) {
+               nsjconf->argv.push_back(argv[i]);
        }
        if (nsjconf->argv.empty()) {
                cmdlineUsage(argv[0]);
index 5553f0bc2aa0221b88f527a0646b980e2768bba8..a8b53cea8ececb0ce1aaca350a26f320fd9d9a3d 100644 (file)
--- a/nsjail.cc
+++ b/nsjail.cc
@@ -179,12 +179,12 @@ int main(int argc, char* argv[]) {
                LOG_F("Couldn't prepare sandboxing policy");
        }
 
-        int ret = 0;
+       int ret = 0;
        if (nsjconf->mode == MODE_LISTEN_TCP) {
                nsjailListenMode(nsjconf.get());
        } else {
                ret = nsjailStandaloneMode(nsjconf.get());
        }
-        sandbox::closePolicy(nsjconf.get());
+       sandbox::closePolicy(nsjconf.get());
        return ret;
 }
index c8c20ea8d735e9df1d8636e06a82c2ee775cd74a..4a08342c6f39ac2cddf06ce00cc490e5503e2108 100644 (file)
@@ -96,12 +96,12 @@ bool preparePolicy(nsjconf_t* nsjconf) {
 }
 
 void closePolicy(nsjconf_t* nsjconf) {
-  if (!nsjconf->seccomp_fprog.filter) {
-    return;
-  }
-  free(nsjconf->seccomp_fprog.filter);
-  nsjconf->seccomp_fprog.filter = nullptr;
-  nsjconf->seccomp_fprog.len = 0;
+       if (!nsjconf->seccomp_fprog.filter) {
+               return;
+       }
+       free(nsjconf->seccomp_fprog.filter);
+       nsjconf->seccomp_fprog.filter = nullptr;
+       nsjconf->seccomp_fprog.len = 0;
 }
 
 }  // namespace sandbox