summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2017-12-04 03:51:28 +0000
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2017-12-04 03:51:28 +0000
commit3a474772edda29a4231bdd9be8da69dbe43135e0 (patch)
tree102f78d5a306d69d0e674d46108d152db4bbedcf /libgfortran
parent34ef0f1555f40f963e300cbcd9fd5b59190546b4 (diff)
2017-12-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
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
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog7
-rw-r--r--libgfortran/io/write.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 3e8173913a05..986b2b0a31e3 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,4 +1,11 @@
2017-12-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ Backport from trunk
+ PR libgfortran/83168
+ * io/write.c (select_string): Bump size by one to avoid
+ overrun.
+
+2017-12-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
Backport from trunk
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