ceriel 33 years ago
parent
commit
df3ae6c2fb
3 changed files with 10 additions and 2 deletions
  1. 8 0
      util/flex/Changes
  2. 1 1
      util/flex/Headers
  3. 1 1
      util/flex/gen.c

+ 8 - 0
util/flex/Changes

@@ -1,3 +1,11 @@
+Changes between 2.3 Patch #7 (28Mar91) and 2.3 Patch #6:
+
+	- Fixed out-of-bounds array access that caused bad tables
+	  to be produced on machines where the bad reference happened
+	  to yield a 1.  This caused problems installing or running
+	  flex on some Suns, in particular.
+
+
 Changes between 2.3 Patch #6 (29Aug90) and 2.3 Patch #5:
 
 	- Fixed a serious bug in yymore() which basically made it

+ 1 - 1
util/flex/Headers

@@ -9,7 +9,7 @@ dfa.c:    "@(#) $header: /usr/fsys/odin/a/vern/flex/RCS/dfa.c,v 2.7 90/06/27 23:
 ecs.c:    "@(#) $header: /usr/fsys/odin/a/vern/flex/RCS/ecs.c,v 2.5 90/06/27 23:48:17 vern Exp $ (LBL)";
 flex.skel: * $header: /usr/fsys/odin/a/vern/flex/RCS/flex.skel,v 2.16 90/08/03 14:09:36 vern Exp $
 flexdef.h:/* @(#) $header: /usr/fsys/odin/a/vern/flex/RCS/flexdef.h,v 2.10 90/08/03 14:09:52 vern Exp $ (LBL) */
-gen.c:    "@(#) $header: /usr/helios/u0/vern/flex/RCS/gen.c,v 2.10 90/08/29 12:11:13 vern Exp $ (LBL)";
+gen.c:    "@(#) $header: /home/horse/u0/vern/flex/RCS/gen.c,v 2.12 91/03/28 12:01:38 vern Exp $ (LBL)";
 initscan.c: * $header: /usr/fsys/odin/a/vern/flex/RCS/flex.skel,v 2.16 90/08/03 14:09:36 vern Exp $
 initscan.c:    "@(#) $header: /usr/fsys/odin/a/vern/flex/RCS/scan.l,v 2.9 90/06/27 23:48:34 vern Exp $ (LBL)";
 libmain.c:/* $header: /usr/fsys/odin/a/vern/flex/RCS/libmain.c,v 1.2 90/05/26 16:50:08 vern Exp $ */

+ 1 - 1
util/flex/gen.c

@@ -799,7 +799,7 @@ void gentabs()
 
 		    if ( variable_trailing_context_rules &&
 			 ! (accnum & YY_TRAILING_HEAD_MASK) &&
-			 accnum > 0 &&
+			 accnum > 0 && accnum <= num_rules &&
 			 rule_type[accnum] == RULE_VARIABLE )
 			{
 			/* special hack to flag accepting number as part