summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/scan-decls.c
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2003-11-07 02:43:04 +0000
committerkan <kan@FreeBSD.org>2003-11-07 02:43:04 +0000
commit1f79a7c5d02f19d3b84a4c966a52df954df090ec (patch)
treefe235f72e674c6a360d502ea52089d3d6f2035e2 /contrib/gcc/scan-decls.c
parent81a2c9c441dc3231499d48ad9c0871b075ef6aa0 (diff)
parentb09448931ae541a7a60fd1cf0ebac14b627fba69 (diff)
downloadFreeBSD-src-1f79a7c5d02f19d3b84a4c966a52df954df090ec.zip
FreeBSD-src-1f79a7c5d02f19d3b84a4c966a52df954df090ec.tar.gz
This commit was generated by cvs2svn to compensate for changes in r122180,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/gcc/scan-decls.c')
-rw-r--r--contrib/gcc/scan-decls.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/gcc/scan-decls.c b/contrib/gcc/scan-decls.c
index e56401d..4f99319 100644
--- a/contrib/gcc/scan-decls.c
+++ b/contrib/gcc/scan-decls.c
@@ -32,7 +32,9 @@ int brace_nesting = 0;
indicate the (brace nesting levels of) left braces that were
prefixed by extern "C". */
int extern_C_braces_length = 0;
-char extern_C_braces[20];
+/* 20 is not enough anymore on Solaris 9. */
+#define MAX_EXTERN_C_BRACES 200
+char extern_C_braces[MAX_EXTERN_C_BRACES];
#define in_extern_C_brace (extern_C_braces_length>0)
/* True if the function declaration currently being scanned is
@@ -222,6 +224,12 @@ scan_decls (pfile, argc, argv)
brace_nesting++;
extern_C_braces[extern_C_braces_length++]
= brace_nesting;
+ if (extern_C_braces_length >= MAX_EXTERN_C_BRACES)
+ {
+ fprintf (stderr,
+ "Internal error: out-of-bounds index\n");
+ exit (FATAL_EXIT_CODE);
+ }
goto new_statement;
}
}
OpenPOWER on IntegriCloud