aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAugust Masquelier <31262046+levouh@users.noreply.github.com>2022-07-19 10:03:12 -0600
committerGitHub <noreply@github.com>2022-07-19 09:03:12 -0700
commit8620dfc5bdedc26e24119eb016d7e6121e9b49b6 (patch)
tree329790706e6abc74a03d972e6f959010a54cb9bc /src
parent61302fb39106424997626359df826051df3f202e (diff)
downloadrneovim-8620dfc5bdedc26e24119eb016d7e6121e9b49b6.tar.gz
rneovim-8620dfc5bdedc26e24119eb016d7e6121e9b49b6.tar.bz2
rneovim-8620dfc5bdedc26e24119eb016d7e6121e9b49b6.zip
fix(tmpdir): invalid tempname() if username has slashes #19323
fix #19240 Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/nvim/fileio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index 6782465ef1..0fce7fe2c8 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -5296,6 +5296,9 @@ static void vim_mktempdir(void)
char user[40] = { 0 };
(void)os_get_username(user, sizeof(user));
+ // Usernames may contain slashes! #19240
+ memchrsub(user, '/', '_', sizeof(user));
+ memchrsub(user, '\\', '_', sizeof(user));
// Make sure the umask doesn't remove the executable bit.
// "repl" has been reported to use "0177".