From 3a474772edda29a4231bdd9be8da69dbe43135e0 Mon Sep 17 00:00:00 2001 From: jvdelisle Date: Mon, 4 Dec 2017 03:51:28 +0000 Subject: 2017-12-03 Jerry DeLisle Backport from trunk PR libgfortran/83168 * io/write.c (select_string): Bump size by one to avoid overrun. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@255373 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgfortran/ChangeLog | 7 +++++++ libgfortran/io/write.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'libgfortran') diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 3e8173913a05..986b2b0a31e3 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2017-12-03 Jerry DeLisle + + Backport from trunk + PR libgfortran/83168 + * io/write.c (select_string): Bump size by one to avoid + overrun. + 2017-12-03 Jerry DeLisle Dominique d'Humieres diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index f80a7c362659..d483de125f75 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -1552,7 +1552,7 @@ select_string (st_parameter_dt *dtp, const fnode *f, char *buf, size_t *size, int kind) { char *result; - *size = size_from_kind (dtp, f, kind) + f->u.real.d; + *size = size_from_kind (dtp, f, kind) + f->u.real.d + 1; if (*size > BUF_STACK_SZ) result = xmalloc (*size); else -- cgit v1.2.3