aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/list_read.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 5120a43..436b598 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/69651
+ * io/list_read.c (push_char4): Fix the pointer usage for xrealloc.
+
2016-02-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69651
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index fcd4b6e..bebdd8c 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -119,7 +119,10 @@ push_char4 (st_parameter_dt *dtp, int c)
if (dtp->u.p.saved_used >= dtp->u.p.saved_length)
{
dtp->u.p.saved_length = 2 * dtp->u.p.saved_length;
- p = xrealloc (p, dtp->u.p.saved_length * sizeof (gfc_char4_t));
+ dtp->u.p.saved_string =
+ xrealloc (dtp->u.p.saved_string,
+ dtp->u.p.saved_length * sizeof (gfc_char4_t));
+ p = (gfc_char4_t *) dtp->u.p.saved_string;
}
p[dtp->u.p.saved_used++] = c;