aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanne Blomqvist <jb@gcc.gnu.org>2015-01-24 23:52:34 +0200
committerJanne Blomqvist <jb@gcc.gnu.org>2015-01-24 23:52:34 +0200
commit7165d8f1916979828be6e913a2a0d19d2923ffd0 (patch)
tree0c3d1d607e4cba288e848924dd2fb81811380302 /gcc
parentd773ed85c56fbae24f13b4e4a054fcc7ca1550f7 (diff)
downloadgcc-7165d8f1916979828be6e913a2a0d19d2923ffd0.zip
gcc-7165d8f1916979828be6e913a2a0d19d2923ffd0.tar.gz
gcc-7165d8f1916979828be6e913a2a0d19d2923ffd0.tar.bz2
PR libfortran/64770 Segfault when trying to open existing file with status="new".
libgfortran ChangeLog: 2015-01-24 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/64770 * io/unit.c (filename_from_unit): Check that u->filename != NULL before calling strdup. testsuite ChangeLog: 2015-01-24 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/64770 * gfortran.dg/open_new_segv.f90: New test. From-SVN: r220086
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/open_new_segv.f9010
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8b3dfc4..b342a33 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-24 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/64770
+ * gfortran.dg/open_new_segv.f90: New test.
+
2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
PR target/49263
diff --git a/gcc/testsuite/gfortran.dg/open_new_segv.f90 b/gcc/testsuite/gfortran.dg/open_new_segv.f90
new file mode 100644
index 0000000..56cd1af
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/open_new_segv.f90
@@ -0,0 +1,10 @@
+! { dg-do run }
+! PR 64770 SIGSEGV when trying to open an existing file with status="new"
+program pr64770
+ implicit none
+ ! Make sure pr64770test.dat exists
+ open(99, file="pr64770test.dat", status="replace")
+ close(99)
+ open(99, file="pr64770test.dat", access="stream", form="unformatted", &
+ status="new")
+end program pr64770