aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Daney <ddaney@avtrex.com>2006-11-12 17:12:13 +0000
committerDavid Daney <daney@gcc.gnu.org>2006-11-12 17:12:13 +0000
commit8a492e2cbfd97bce61c007d99fa459af68e038d2 (patch)
tree3ba89076aefbf880a841bc6f0cad48fa59792cae /gcc
parentc57d40281c169cfa315813db1667bf15de5316b0 (diff)
downloadgcc-8a492e2cbfd97bce61c007d99fa459af68e038d2.zip
gcc-8a492e2cbfd97bce61c007d99fa459af68e038d2.tar.gz
gcc-8a492e2cbfd97bce61c007d99fa459af68e038d2.tar.bz2
re PR java/29805 (Write past end of array in java/typeck.c)
PR java/29805 * typeck.c (build_java_array_type): Increase buffer sizes. From-SVN: r118724
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/typeck.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 8bc6c35..46d7d1d 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-12 David Daney <ddaney@avtrex.com>
+
+ PR java/29805
+ * typeck.c (build_java_array_type): Increase buffer sizes.
+
2006-11-11 Richard Guenther <rguenther@suse.de>
* check-init.c (check_init): Remove handling of FIX_CEIL_EXPR,
diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c
index 3441a1d..c0d6e4a 100644
--- a/gcc/java/typeck.c
+++ b/gcc/java/typeck.c
@@ -356,7 +356,7 @@ tree
build_java_array_type (tree element_type, HOST_WIDE_INT length)
{
tree sig, t, fld, atype, arfld;
- char buf[12];
+ char buf[23]; /* 20 for the digits of a 64 bit number + "[]" + \0 */
tree elsig = build_java_signature (element_type);
tree el_name = element_type;
buf[0] = '[';
@@ -379,7 +379,7 @@ build_java_array_type (tree element_type, HOST_WIDE_INT length)
if (TREE_CODE (el_name) == TYPE_DECL)
el_name = DECL_NAME (el_name);
{
- char suffix[12];
+ char suffix[23];
if (length >= 0)
sprintf (suffix, "[%d]", (int)length);
else