re PR libfortran/81938 (valgrind error message and heap-buffer-overflow on address sanitized libgfortran.so)

2017-10-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Rimvydas (RJ)

	PR libgfortran/81938
	io/format.c (free_format_data): Don't try to free vlist
	descriptors past the end of the fnode array.

From-SVN: r254163
This commit is contained in:
Jerry DeLisle 2017-10-27 17:50:22 +00:00
parent 6c6705a904
commit 730de5a59e
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2017-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Rimvydas (RJ)
PR libgfortran/81938
io/format.c (free_format_data): Don't try to free vlist
descriptors past the end of the fnode array.
2017-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/82233

View file

@ -266,7 +266,8 @@ free_format_data (format_data *fmt)
return;
/* Free vlist descriptors in the fnode_array if one was allocated. */
for (fnp = fmt->array.array; fnp->format != FMT_NONE; fnp++)
for (fnp = fmt->array.array; fnp < &fmt->array.array[FARRAY_SIZE] &&
fnp->format != FMT_NONE; fnp++)
if (fnp->format == FMT_DT)
{
if (GFC_DESCRIPTOR_DATA(fnp->u.udf.vlist))