gfs2-utils: RHEL7 - gfs2_edit: Set umask before calling mkstemp in savemetaopen()

Andrew Price andyp at fedoraproject.org
Tue Apr 7 21:22:23 UTC 2015


Gitweb:        http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=fee2852960b318e79ee41849b180bfd7f297d446
Commit:        fee2852960b318e79ee41849b180bfd7f297d446
Parent:        e8fdcc705d2ac36b5151072fc2acef15d0b32ad2
Author:        Andrew Price <anprice at redhat.com>
AuthorDate:    Thu Sep 18 14:51:41 2014 +0100
Committer:     Andrew Price <anprice at redhat.com>
CommitterDate: Wed Apr 1 16:51:34 2015 +0100

gfs2_edit: Set umask before calling mkstemp in savemetaopen()

Spotted by coverity: Calling "mkstemp(char *)" without securely setting
umask first.

Signed-off-by: Andrew Price <anprice at redhat.com>
---
 gfs2/edit/savemeta.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index 360b144..5147ee5 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -259,6 +259,7 @@ static struct metafd savemetaopen(char *out_fn, int gziplevel)
 	struct metafd mfd = {-1, NULL, NULL, gziplevel};
 	char gzmode[3] = "w9";
 	char dft_fn[] = DFT_SAVE_FILE;
+	mode_t mask = umask(S_IXUSR | S_IRWXG | S_IRWXO);
 
 	if (!out_fn) {
 		out_fn = dft_fn;
@@ -266,6 +267,7 @@ static struct metafd savemetaopen(char *out_fn, int gziplevel)
 	} else {
 		mfd.fd = open(out_fn, O_RDWR | O_CREAT, 0644);
 	}
+	umask(mask);
 	mfd.filename = out_fn;
 
 	if (mfd.fd < 0) {


More information about the cluster-commits mailing list