summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-04 20:58:26 +0000
committerfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-04 20:58:26 +0000
commitdc343ad40ff20df43c5b0a9c4413f0c1889f2407 (patch)
tree854baedab5fff3b2ca5cb60f092346ba2f14ff0f /gcc/fortran/expr.c
parent2e9ff3c063db4fd5d03869a1a06bf819df7dbeb6 (diff)
downloadppe42-gcc-dc343ad40ff20df43c5b0a9c4413f0c1889f2407.tar.gz
ppe42-gcc-dc343ad40ff20df43c5b0a9c4413f0c1889f2407.zip
PR fortran/29713
* expr.c (gfc_simplify_expr): Correct memory allocation. * gfortran.dg/pr29713.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118483 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index d2da0d845c3..486da131d89 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -1436,7 +1436,7 @@ gfc_simplify_expr (gfc_expr * p, int type)
gfc_extract_int (p->ref->u.ss.start, &start);
start--; /* Convert from one-based to zero-based. */
gfc_extract_int (p->ref->u.ss.end, &end);
- s = gfc_getmem (end - start + 1);
+ s = gfc_getmem (end - start + 2);
memcpy (s, p->value.character.string + start, end - start);
s[end-start+1] = '\0'; /* TODO: C-style string for debugging. */
gfc_free (p->value.character.string);
OpenPOWER on IntegriCloud