[libglnx] fdio: Fix default mode in glnx_file_replace_contents_with_perms_at()



commit 02af92ffefda4251d894f0ec7a3aff9bc26af1cd
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Apr 14 08:43:37 2015 -0400

    fdio: Fix default mode in glnx_file_replace_contents_with_perms_at()
    
    mkostemp() defaults to 0600.  Use 0644 instead unless a mode is
    explicitly provided.
    
    https://bugzilla.gnome.org/747813

 glnx-fdio.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/glnx-fdio.c b/glnx-fdio.c
index db214dd..a529794 100644
--- a/glnx-fdio.c
+++ b/glnx-fdio.c
@@ -708,13 +708,13 @@ glnx_file_replace_contents_with_perms_at (int                   dfd,
         }
     }
 
-  if (mode != (mode_t) -1)
+  if (mode == (mode_t) -1)
+    mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
+
+  if (fchmod (fd, mode) != 0)
     {
-      if (fchmod (fd, mode) != 0)
-        {
-          glnx_set_error_from_errno (error);
-          goto out;
-        }
+      glnx_set_error_from_errno (error);
+      goto out;
     }
 
   if (renameat (dfd, tmppath, dfd, subpath) != 0)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]