gcc/libgfortran/io
Janne Blomqvist 581d232670 PR 60324 Unbounded stack allocations in libgfortran.
2014-11-13  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/60324
	* configure: Regenerated.
	* configure.ac (AM_CFLAGS): Add Werror=vla.
	* libgfortran.h (gfc_alloca): Remove macro.
	(fc_strdup_notrim): New prototype.
	* intrinsics/access.c (access_func): Use fc_strdup rather than
	stack allocation.
	* intrinsics/chdir.c (chdir_i4_sub): Likewise.
	(chdir_i8_sub): Likewise.
	* intrinsics/chmod.c (chmod_internal): New function, move logic
	here.
	(chmod_func): Call chmod_internal.
	* intrinsics/env.c (getenv): Use fc_strdup rather than stack
	allocation.
	(get_environment_variable_i4): Likewise.
	* intrinsics/execute_command_line.c (execute_command_line):
	Likewise.
	* intrinsics/hostnm.c (hostnm_0): New function, use static buffer
	rather than VLA.
	(hostnm_i4_sub): Call hostnm_0.
	(hostnm_i8_sub): Likewise.
	(hostnm): Likewise.
	* intrinsics/link.c (link_internal): New function, use fc_strdup
	rather than stack allocation.
	(link_i4_sub): Call link_internal.
	(link_i8_sub): Likewise.
	(link_i4): Likewise.
	(link_i8): Likewise.
	* intrinsics/perror.c (perror_sub): Use fc_strdup rather than
	stack allocation.
	* intrinsics/random.c (random_seed_i4): Use static buffer rather
	than VLA, use _Static_assert to make sure it's big enough.
	* intrinsics/rename.c (rename_internal): New function, use
	fc_strdup rather than stack allocation.
	(rename_i4_sub): Call rename_internal.
	(rename_i8_sub): Likewise.
	(rename_i4): Likewise.
	(rename_i8): Likewise.
	* intrinsics/stat.c (stat_i4_sub_0): Use fc_strdup rather than
	stack allocation.
	(stat_i8_sub_0): Likewise.
	* intrinsics/symlink.c (symlnk_internal): New function, use
	fc_strdup rather than stack allocation.
	(symlnk_i4_sub): Call symlnk_internal.
	(symlnk_i8_sub): Likewise.
	(symlnk_i4): Likewise.
	(symlnk_i8): Likewise.
	* intrinsics/system.c (system_sub): Use fc_strdup rather than
	stack allocation.
	* intrinsics/unlink.c (unlink_i4_sub): Likewise.
	* io/file_pos.c (READ_CHUNK): Make it a macro rather than variable.
	* io/list_read.c (nml_get_obj_data): Use fixed stack buffer, fall
	back to xmalloc/free for large sizes.
	* io/read.c (read_f): Likewise.
	* io/transfer.c (MAX_READ): Make it a macro rather than variable.
	(WRITE_CHUNK): Likewise.
	* io/write_float.def (write_float): Use fixed stack buffer, fall
	back to xmalloc/free for large sizes.
	* runtime/string.c (fc_strdup_notrim): New function.

From-SVN: r217480
2014-11-13 14:05:01 +02:00
..
close.c PR libfortran/62768 Handle filenames with embedded null characters. 2014-09-17 00:40:28 +03:00
fbuf.c Introduce xrealloc, use it. 2014-05-26 23:56:45 +03:00
fbuf.h Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
file_pos.c PR 60324 Unbounded stack allocations in libgfortran. 2014-11-13 14:05:01 +02:00
format.c re PR fortran/61632 (Improve error locus on large format strings) 2014-07-20 20:03:41 +00:00
format.h Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
inquire.c Fix indentation 2014-09-18 00:59:09 +03:00
intrinsics.c Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
io.h PR 47007 and 61847 Locale failures in libgfortran. 2014-11-10 02:17:16 +02:00
list_read.c PR 60324 Unbounded stack allocations in libgfortran. 2014-11-13 14:05:01 +02:00
lock.c Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
open.c PR libfortran/62768 Handle filenames with embedded null characters. 2014-09-17 00:40:28 +03:00
read.c PR 60324 Unbounded stack allocations in libgfortran. 2014-11-13 14:05:01 +02:00
size_from_kind.c Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
transfer128.c Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
transfer.c PR 60324 Unbounded stack allocations in libgfortran. 2014-11-13 14:05:01 +02:00
unit.c PR 47007 and 61847 Locale failures in libgfortran. 2014-11-10 02:17:16 +02:00
unix.c PR libfortran/62768 Handle filenames with embedded null characters. 2014-09-17 00:40:28 +03:00
unix.h PR 56981 Flush buffer at record boundary if possible. 2014-06-08 08:43:29 +03:00
write_float.def PR 60324 Unbounded stack allocations in libgfortran. 2014-11-13 14:05:01 +02:00
write.c Introduce xmallocarray, an overflow checking variant of xmalloc. 2014-06-17 06:50:34 +03:00