aboutsummaryrefslogtreecommitdiff
path: root/src/util/disk.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-07-06 11:14:11 +0000
committerChristian Grothoff <christian@grothoff.org>2016-07-06 11:14:11 +0000
commitf5beb3eaf163fc0bf2a4f86bd413d3ee6939cfea (patch)
treeb59a38ad9e2296b3d2c8cc3302f21cf6d3ecc458 /src/util/disk.c
parent6db64c5eae089e1d81cafbb051f65412790d16bc (diff)
downloadgnunet-f5beb3eaf163fc0bf2a4f86bd413d3ee6939cfea.tar.gz
gnunet-f5beb3eaf163fc0bf2a4f86bd413d3ee6939cfea.zip
-fix misc issues
Diffstat (limited to 'src/util/disk.c')
-rw-r--r--src/util/disk.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/util/disk.c b/src/util/disk.c
index 4624df7c1..d9ebde84f 100644
--- a/src/util/disk.c
+++ b/src/util/disk.c
@@ -527,14 +527,18 @@ char *
527GNUNET_DISK_mkdtemp (const char *t) 527GNUNET_DISK_mkdtemp (const char *t)
528{ 528{
529 char *fn; 529 char *fn;
530 mode_t omask;
530 531
532 omask = umask (S_IWGRP | S_IWOTH | SIRGRP | S_IROTH);
531 fn = mktemp_name (t); 533 fn = mktemp_name (t);
532 if (fn != mkdtemp (fn)) 534 if (fn != mkdtemp (fn))
533 { 535 {
534 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_ERROR, "mkstemp", fn); 536 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_ERROR, "mkdtemp", fn);
535 GNUNET_free (fn); 537 GNUNET_free (fn);
538 umask (omask);
536 return NULL; 539 return NULL;
537 } 540 }
541 umask (omask);
538 return fn; 542 return fn;
539} 543}
540 544
@@ -587,14 +591,18 @@ GNUNET_DISK_mktemp (const char *t)
587{ 591{
588 int fd; 592 int fd;
589 char *fn; 593 char *fn;
594 mode_t omask;
590 595
596 omask = umask (S_IWGRP | S_IWOTH | SIRGRP | S_IROTH);
591 fn = mktemp_name (t); 597 fn = mktemp_name (t);
592 if (-1 == (fd = mkstemp (fn))) 598 if (-1 == (fd = mkstemp (fn)))
593 { 599 {
594 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_ERROR, "mkstemp", fn); 600 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_ERROR, "mkstemp", fn);
595 GNUNET_free (fn); 601 GNUNET_free (fn);
602 umask (omask);
596 return NULL; 603 return NULL;
597 } 604 }
605 umask (omask);
598 if (0 != CLOSE (fd)) 606 if (0 != CLOSE (fd))
599 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_WARNING, "close", fn); 607 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_WARNING, "close", fn);
600 return fn; 608 return fn;