summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorSakshi <sabansal@redhat.com>2015-04-15 15:30:51 +0530
committerJeff Darcy <jdarcy@redhat.com>2016-04-15 07:25:10 -0700
commit96a246a8944cfd9154a75e7dc66fc9aacc39dbf3 (patch)
tree512b4a64c53b9e2d6f9dcb885fbb5dbb11642f02 /xlators
parent435e25d510ed74dd9b59b22dcb062daca088327f (diff)
glusterd: coverity fix for insecure temporary file
Set umask before creating temporary file Backport of http://review.gluster.org/9558 > Change-Id: Ia39af63b05ce68f3f3af6585b70d4129a5530269 > BUG: 789278 > Signed-off-by: Sakshi <sabansal@redhat.com> > Reviewed-on: http://review.gluster.org/9558 > Smoke: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> > CentOS-regression: Gluster Build System <jenkins@build.gluster.com> > NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> > Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Change-Id: Ia39af63b05ce68f3f3af6585b70d4129a5530269 BUG: 1215026 Signed-off-by: Sakshi <sabansal@redhat.com> Reviewed-on: http://review.gluster.org/13984 Smoke: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-mountbroker.c3
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-mountbroker.c b/xlators/mgmt/glusterd/src/glusterd-mountbroker.c
index e837b2fd64d..8e4e10552c5 100644
--- a/xlators/mgmt/glusterd/src/glusterd-mountbroker.c
+++ b/xlators/mgmt/glusterd/src/glusterd-mountbroker.c
@@ -528,6 +528,7 @@ glusterd_do_mount (char *label, dict_t *argdict, char **path, int *op_errno)
runner_t runner = {0,};
int ret = 0;
xlator_t *this = THIS;
+ mode_t orig_umask = 0;
priv = this->private;
GF_ASSERT (priv);
@@ -627,7 +628,9 @@ glusterd_do_mount (char *label, dict_t *argdict, char **path, int *op_errno)
*op_errno = ENOMEM;
goto out;
}
+ orig_umask = umask(S_IRWXG | S_IRWXO);
ret = mkstemp (cookie);
+ umask(orig_umask);
if (ret == -1) {
*op_errno = errno;
goto out;
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 15c83acbe9c..4d4f22ee7e9 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -2059,6 +2059,7 @@ glusterd_volume_compute_cksum (glusterd_volinfo_t *volinfo, char *cksum_path,
gf_boolean_t unlink_sortfile = _gf_false;
glusterd_conf_t *priv = NULL;
xlator_t *this = NULL;
+ mode_t orig_umask = 0;
GF_ASSERT (volinfo);
this = THIS;
@@ -2079,7 +2080,9 @@ glusterd_volume_compute_cksum (glusterd_volinfo_t *volinfo, char *cksum_path,
snprintf (sort_filepath, sizeof (sort_filepath),
"/tmp/%s.XXXXXX", volinfo->volname);
+ orig_umask = umask(S_IRWXG | S_IRWXO);
sort_fd = mkstemp (sort_filepath);
+ umask(orig_umask);
if (sort_fd < 0) {
gf_msg (this->name, GF_LOG_ERROR, errno,
GD_MSG_FILE_OP_FAILED, "Could not generate "