summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2018-01-14 21:44:50 +0000
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2018-01-14 21:44:50 +0000
commit34b5851dd7dc8b8ea6b09c94f3d902e1b52efd53 (patch)
treee1708b8f59f5e6bf0040905c7ae3ee3932c530b1 /libgfortran
parente1ba3a092762dfbe71033bb0d868980f43725262 (diff)
2018-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from trunk PR libgfortran/83811 * gfortran.dg/fmt_e.f90: New test. * gfortran.dg/fmt_e.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256675 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/io/write.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 7d5244f33fd5..15b8139e859f 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2018-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ Backport from trunk
+ PR libgfortran/83811
+ * write.c (select_buffer): Adjust buffer size up by 1.
+
2018-01-03 Janne Blomqvist <jb@gcc.gnu.org>
Backport from trunk
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index d483de125f75..a7307a8f762b 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -1537,8 +1537,9 @@ select_buffer (st_parameter_dt *dtp, const fnode *f, int precision,
{
char *result;
- /* The buffer needs at least one more byte to allow room for normalizing. */
- *size = size_from_kind (dtp, f, kind) + precision + 1;
+ /* The buffer needs at least one more byte to allow room for
+ normalizing and 1 to hold null terminator. */
+ *size = size_from_kind (dtp, f, kind) + precision + 1 + 1;
if (*size > BUF_STACK_SZ)
result = xmalloc (*size);