https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66861
--- Comment #4 from Rainer Emrich <rai...@emrich-ebersheim.de> --- Am 13.07.2015 um 20:56 schrieb jb at gcc dot gnu.org: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66861 > > --- Comment #3 from Janne Blomqvist <jb at gcc dot gnu.org> --- Or rather, > also fixing another similar potential issue, you might instead want to test > this: > > diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c index > e5fc6e1..a1ce9a3 100644 --- a/libgfortran/io/unix.c +++ > b/libgfortran/io/unix.c @@ -1525,7 +1525,10 @@ compare_file_filename > (gfc_unit *u, const char *name, int len) goto done; } # endif - ret = > (strcmp(path, u->filename) == 0); + if (u->filename) + ret = > (strcmp(path, u->filename) == 0); + else + ret = 0; #endif done: free > (path); @@ -1570,7 +1573,7 @@ find_file0 (gfc_unit *u, FIND_FILE0_DECL) } > else # endif - if (strcmp (u->filename, path) == 0) + if (u->filename > && strcmp (u->filename, path) == 0) return u; #endif > I will test this tomorrow.