From 02af92ffefda4251d894f0ec7a3aff9bc26af1cd Mon Sep 17 00:00:00 2001 From: Matthew Barnes <mbarnes@redhat.com> Date: Tue, 14 Apr 2015 08:43:37 -0400 Subject: [PATCH] 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 file changed, 6 insertions(+), 6 deletions(-) diff --git a/glnx-fdio.c b/glnx-fdio.c index db214dd55..a52979430 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) -- GitLab