[PR libfortran/62768] Handle filenames with embedded nulls
Tue Sep 16 05:53:00 GMT 2014
On Fri, Sep 5, 2014 at 3:54 AM, Janne Blomqvist
> when opening a file with a name containing an ASCII null character,
> the name is truncated at the first null since the IO API's take
> null-terminated C strings. By storing such a C string in gfc_unit
> instead of the original Fortran string INQUIRE for the file name will
> return the correct name, and the code is simplified slightly. It also
> fixes an bug in open.c(already_open) for the !HAVE_UNLINK_OPEN_FILE
> case in that the file is unlinked before freeing the name (which I
> can't test but seems obvious).
> Regtested on x86_64-unknown-linux-gnu, Ok for trunk?
> 2014-09-05 Janne Blomqvist <email@example.com>
> PR libfortran/62768
> * io/io.h (gfc_unit): Store C string for the filename.
> * io/close.c (st_close): Use gfc_unit.filename.
> * io/inquire.c (inquire_via_unit): Likewise.
> * io/open.c (new_unit): Likewise.
> (already_open): Likewise, unlink file before freeing filename.
> * io/unit.c (init_units): Likewise.
> (close_unit_1): Likewise.
> (filename_from_unit): Likewise.
> * io/unix.c (compare_file_filename): Likewise.
> (find_file0): Likewise.
> (delete_file): Likewise.
> Janne Blomqvist
More information about the Gcc-patches