aboutsummaryrefslogtreecommitdiff
path: root/gmon
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-08 09:04:02 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-08 09:04:02 +0000
commitb7eb7b0f6d971568ea2d478950bd7ca18ac27d5a (patch)
tree86e7604ad0a302471cd081fd7dcf979e0c2b0f96 /gmon
parent48b8e8464b5a0a4c20dca0ffac05541397bfb654 (diff)
downloadglibc-b7eb7b0f6d971568ea2d478950bd7ca18ac27d5a.zip
glibc-b7eb7b0f6d971568ea2d478950bd7ca18ac27d5a.tar.gz
glibc-b7eb7b0f6d971568ea2d478950bd7ca18ac27d5a.tar.bz2
Update.
2002-08-08 Ulrich Drepper <drepper@redhat.com> * gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available.
Diffstat (limited to 'gmon')
-rw-r--r--gmon/gmon.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gmon/gmon.c b/gmon/gmon.c
index f0188a9..c2fcb8f 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -320,18 +320,22 @@ write_gmon (void)
int fd = -1;
char *env;
+#ifndef O_NOFOLLOW
+# define O_NOFOLLOW 0
+#endif
+
env = getenv ("GMON_OUT_PREFIX");
if (env != NULL && !__libc_enable_secure)
{
size_t len = strlen (env);
char buf[len + 20];
sprintf (buf, "%s.%u", env, __getpid ());
- fd = __open (buf, O_CREAT|O_TRUNC|O_WRONLY, 0666);
+ fd = __open (buf, O_CREAT|O_TRUNC|O_WRONLY|O_NOFOLLOW, 0666);
}
if (fd == -1)
{
- fd = __open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY, 0666);
+ fd = __open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY|O_NOFOLLOW, 0666);
if (fd < 0)
{
char buf[300];