aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index e17e9e3..84797b7 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -754,10 +754,11 @@ gfc_set_constant_character_len (int len, gfc_expr * expr)
slen = expr->value.character.length;
if (len != slen)
{
- s = gfc_getmem (len);
+ s = gfc_getmem (len + 1);
memcpy (s, expr->value.character.string, MIN (len, slen));
if (len > slen)
memset (&s[slen], ' ', len - slen);
+ s[len] = '\0';
gfc_free (expr->value.character.string);
expr->value.character.string = s;
expr->value.character.length = len;