aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2007-12-27 13:04:14 +0000
committerSamuel Tardieu <sam@gcc.gnu.org>2007-12-27 13:04:14 +0000
commit18bc9ccabb1d138171733565d7bea6eba15b34f7 (patch)
treeb1d2ee6448a086ef5fc45cd56d440b21b96d1e11 /gcc/ada
parent83588991c1d625a7127af35abeee9b094df95dc6 (diff)
downloadgcc-18bc9ccabb1d138171733565d7bea6eba15b34f7.zip
gcc-18bc9ccabb1d138171733565d7bea6eba15b34f7.tar.gz
gcc-18bc9ccabb1d138171733565d7bea6eba15b34f7.tar.bz2
re PR ada/34553 (Unsafe calls to mktemp and tmpname)
gcc/ada/ PR ada/34553 * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp() instead of mktemp() or tmpnam() on NetBSD. From-SVN: r131201
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/adaint.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 3f99566..5c26038 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2007-12-27 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34553
+ * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
+ instead of mktemp() or tmpnam() on NetBSD.
+
2007-12-23 Eric Botcazou <ebotcazou@adacore.com>
* trans.c (call_to_gnu): Make the temporary for non-addressable
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 6c5d440..1556b28 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -887,7 +887,8 @@ __gnat_open_new_temp (char *path, int fmode)
strcpy (path, "GNAT-XXXXXX");
-#if (defined (__FreeBSD__) || defined (linux)) && !defined (__vxworks)
+#if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (linux)) && \
+ !defined (__vxworks)
return mkstemp (path);
#elif defined (__Lynx__)
mktemp (path);
@@ -979,7 +980,7 @@ __gnat_tmp_name (char *tmp_filename)
free (pname);
}
-#elif defined (linux) || defined (__FreeBSD__)
+#elif defined (linux) || defined (__FreeBSD__) || defined (__NetBSD__)
#define MAX_SAFE_PATH 1000
char *tmpdir = getenv ("TMPDIR");