Derive interface buffers from max name length
authorBernhard Reutner-Fischer <aldot@gcc.gnu.org>
Thu, 19 Oct 2017 07:55:43 +0000 (09:55 +0200)
committerBernhard Reutner-Fischer <aldot@gcc.gnu.org>
Thu, 19 Oct 2017 07:55:43 +0000 (09:55 +0200)
2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* interface.c (check_sym_interfaces, check_uop_interfaces,
gfc_check_interfaces): Base interface_name buffer off
GFC_MAX_SYMBOL_LEN.

From-SVN: r253881

gcc/fortran/ChangeLog
gcc/fortran/interface.c

index 11c8ef0f59eaefe31e057610653ce5080fe01e48..962dbe888f6379b739062671c8a8199337380093 100644 (file)
@@ -1,3 +1,9 @@
+2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * interface.c (check_sym_interfaces, check_uop_interfaces,
+       gfc_check_interfaces): Base interface_name buffer off
+       GFC_MAX_SYMBOL_LEN.
+
 2017-10-19  Jakub Jelinek  <jakub@redhat.com>
 
        PR fortran/82568
index b4f5a4dcce1955c9f1743cc908f67aa02baa30c5..9f0fcc82f24083131fac1887d10b279932a23a07 100644 (file)
@@ -1918,7 +1918,7 @@ check_interface1 (gfc_interface *p, gfc_interface *q0,
 static void
 check_sym_interfaces (gfc_symbol *sym)
 {
-  char interface_name[100];
+  char interface_name[GFC_MAX_SYMBOL_LEN + sizeof("generic interface ''")];
   gfc_interface *p;
 
   if (sym->ns != gfc_current_ns)
@@ -1955,7 +1955,7 @@ check_sym_interfaces (gfc_symbol *sym)
 static void
 check_uop_interfaces (gfc_user_op *uop)
 {
-  char interface_name[100];
+  char interface_name[GFC_MAX_SYMBOL_LEN + sizeof("operator interface ''")];
   gfc_user_op *uop2;
   gfc_namespace *ns;
 
@@ -2032,7 +2032,7 @@ void
 gfc_check_interfaces (gfc_namespace *ns)
 {
   gfc_namespace *old_ns, *ns2;
-  char interface_name[100];
+  char interface_name[GFC_MAX_SYMBOL_LEN + sizeof("intrinsic '' operator")];
   int i;
 
   old_ns = gfc_current_ns;