From ed17fc411c33e37cdbb3d45fc3dc94908d536ae9 Mon Sep 17 00:00:00 2001
From: "Steven G. Kargl" <kargl@gcc.gnu.org>
Date: Tue, 15 Feb 2011 19:38:51 +0000
Subject: [PATCH] re PR fortran/47633 (Result of COMPILER_VERSION() has NULL
 byte appended)

2011-02-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/47633
	. simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.

From-SVN: r170195
---
 gcc/fortran/ChangeLog  | 5 +++++
 gcc/fortran/simplify.c | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 8b4f63f6097a..346bb9eda929 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2011-02-15  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/47633
+	. simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
+
 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
 
 	PR fortran/47730
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index ba8804401bf5..bb8b575ded87 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -6844,9 +6844,9 @@ gfc_simplify_compiler_version (void)
   char *buffer;
   size_t len;
 
-  len = strlen ("GCC version ") + strlen (version_string) + 1;
-  buffer = (char*) alloca (len);
-  snprintf (buffer, len, "GCC version %s", version_string);
+  len = strlen ("GCC version ") + strlen (version_string);
+  buffer = XALLOCAVEC (char, len + 1);
+  snprintf (buffer, len + 1, "GCC version %s", version_string);
   return gfc_get_character_expr (gfc_default_character_kind,
                                 &gfc_current_locus, buffer, len);
 }
-- 
GitLab