summaryrefslogtreecommitdiff
path: root/src/file.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2016-12-15 23:47:34 +0000
committerMaxime Coste <mawww@kakoune.org>2016-12-15 23:47:34 +0000
commit831887cd3a5b2b71dbb3ef1b25fd0220ea7230d7 (patch)
tree3561d09f6c35d4395051d186f74ccb75952ddbfa /src/file.cc
parent9a879262a272bd4c6458fcfa07a9289ee41d7220 (diff)
Improve general security of the unix sockets
* Use the stricky bit on the shared kakoune folder * Do not allow read/write access to user folder * Respect $TMPDIR when set Fixes #1007
Diffstat (limited to 'src/file.cc')
-rw-r--r--src/file.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/file.cc b/src/file.cc
index 64061d09..0867fa60 100644
--- a/src/file.cc
+++ b/src/file.cc
@@ -334,7 +334,7 @@ String find_file(StringView filename, ConstArrayView<String> paths)
return "";
}
-void make_directory(StringView dir)
+void make_directory(StringView dir, mode_t mode)
{
auto it = dir.begin(), end = dir.end();
while(it != end)
@@ -352,7 +352,7 @@ void make_directory(StringView dir)
auto old_mask = umask(0);
auto restore_mask = on_scope_end([old_mask]() { umask(old_mask); });
- if (mkdir(dirname.zstr(), S_IRWXU | S_IRWXG | S_IRWXO) != 0)
+ if (mkdir(dirname.zstr(), mode) != 0)
throw runtime_error(format("mkdir failed for directory '{}' errno {}", dirname, errno));
}
}