mnt: try /run/user/<uid>/nsjail as a root mount dir first
authorRobert Swiecki <robert@swiecki.net>
Thu, 28 Mar 2019 22:25:15 +0000 (23:25 +0100)
committerRobert Swiecki <robert@swiecki.net>
Thu, 28 Mar 2019 22:25:15 +0000 (23:25 +0100)
mnt.cc

diff --git a/mnt.cc b/mnt.cc
index 81b7eac071909f1922a9bfe2a36574c0bf581957..8b1c9b27ad3bb8e6d43977c4e35ea1ad96379625 100644 (file)
--- a/mnt.cc
+++ b/mnt.cc
@@ -282,14 +282,12 @@ static bool mkdirAndTest(const std::string& dir) {
 static std::unique_ptr<std::string> getDir(nsjconf_t* nsjconf, const char* name) {
        std::unique_ptr<std::string> dir(new std::string);
 
-       dir->assign("/run/user/")
-           .append(std::to_string(nsjconf->orig_uid))
-           .append("/nsjail.")
-           .append(std::to_string(nsjconf->orig_uid))
-           .append(".")
-           .append(name);
+       dir->assign("/run/user/").append(std::to_string(nsjconf->orig_uid)).append("/nsjail");
        if (mkdirAndTest(*dir)) {
-               return dir;
+               dir->append("/").append(name);
+               if (mkdirAndTest(*dir)) {
+                       return dir;
+               }
        }
        dir->assign("/run/user/")
            .append("/nsjail.")