commit 003228afbae1586c3765824bcfe102f621be9fa8
parent 3a30211e6cbe9df59692ee4f54a5f5b10fcf5e8d
Author: NRK <nrk@disroot.org>
Date: Sun, 5 Mar 2023 18:43:08 +0600
add some critical comments
Diffstat:
1 file changed, 4 insertions(+), 0 deletions(-)
diff --git a/src/nnn.c b/src/nnn.c
@@ -1147,6 +1147,7 @@ static size_t mkpath(const char *dir, const char *name, char *out)
{
size_t len = 0;
+ /* same rational for being strict as abspath() */
if (tilde_is_home_strict(name)) { //NOLINT
len = xstrsncpy(out, home, PATH_MAX);
--len;
@@ -1215,6 +1216,9 @@ static char *abspath(const char *filepath, char *cwd, char *buf)
if (!path)
return NULL;
+ /* when dealing with tilde, we need to be strict.
+ * otherwise a file named "~" can end up expanding to
+ * $HOME and causing disaster */
if (tilde_is_home_strict(path)) {
cwd = home;
path += 2; /* advance 2 bytes past the "~/" */