]> Sergey Matveev's repositories - nnn.git/commitdiff
Create files in less permissive mode
authorArun Prakash Jana <engineerarun@gmail.com>
Sat, 10 Dec 2022 16:32:22 +0000 (22:02 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sat, 10 Dec 2022 16:32:22 +0000 (22:02 +0530)
src/nnn.c

index 9fe4acede9b9eb2d8a7aba1dd5fb2414f9914d20..0f64882c4e1c040bd7097ee386e0dbe30ffdeced 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -1447,7 +1447,7 @@ static void writesel(const char *buf, const size_t buflen)
        if (!selpath)
                return;
 
-       int fd = open(selpath, O_CREAT | O_WRONLY | O_TRUNC, 0666);
+       int fd = open(selpath, O_CREAT | O_WRONLY | O_TRUNC, S_IWUSR | S_IRUSR);
 
        if (fd != -1) {
                if (write(fd, buf, buflen) != (ssize_t)buflen)
@@ -2709,7 +2709,7 @@ static void write_lastdir(const char *curpath, const char *outfile)
 
        int fd = open(outfile
                        ? (outfile[0] == '~' ? g_buf : outfile)
-                       : cfgpath, O_CREAT | O_WRONLY | O_TRUNC, 0666);
+                       : cfgpath, O_CREAT | O_WRONLY | O_TRUNC, S_IWUSR | S_IRUSR);
 
        if (fd != -1) {
                dprintf(fd, "cd \"%s\"", curpath);
@@ -4217,7 +4217,7 @@ static void save_session(const char *sname, int *presel)
        mkpath(cfgpath, toks[TOK_SSN], ssnpath);
        mkpath(ssnpath, sname, spath);
 
-       fd = open(spath, O_CREAT | O_WRONLY | O_TRUNC, 0666);
+       fd = open(spath, O_CREAT | O_WRONLY | O_TRUNC, S_IWUSR | S_IRUSR);
        if (fd == -1) {
                printwait(messages[MSG_SEL_MISSING], presel);
                return;
@@ -4276,7 +4276,7 @@ static bool load_session(const char *sname, char **path, char **lastdir, char **
        if (has_loaded_dynamically)
                save_session("@", NULL);
 
-       fd = open(spath, O_RDONLY, 0666);
+       fd = open(spath, O_RDONLY, S_IWUSR | S_IRUSR);
        if (fd == -1) {
                if (!status) {
                        printmsg(messages[MSG_SEL_MISSING]);
@@ -4557,7 +4557,7 @@ next:
                        return FALSE;
                }
        } else {
-               int fd = open(path, O_CREAT | O_TRUNC, 0666); /* Use forced create mode for files */
+               int fd = open(path, O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR); /* Forced create mode for files */
 
                if (fd == -1 && errno != EEXIST) {
                        DPRINTF_S("open!");