flex 2.3 patch #7
Vern Paxson
vern at horse.ee.lbl.gov
Fri Mar 29 06:13:55 AEST 1991
This patch fixes a bug which can on some machines lead to bad tables being
generated. In general, if your site has the proper conditions for tickling
the bug then you almost certainly were unable to install flex (once flex
was built it would fail to run, so "make test" would fail completely). I
imagine, though, that it's possible to have successfully installed flex and
yet still get a bogus scanner generated due to this bug, so it would be
wise to incorporate the patch in any case. Sun 3's and 4's appear to be
particularly susceptible.
Vern
Vern Paxson vern at ee.lbl.gov
Computer Systems Engineering ucbvax!ee.lbl.gov!vern
Lawrence Berkeley Laboratory (415) 486-7504
diff -c Patch-6/Changes Patch-7/Changes
*** Patch-6/Changes Wed Aug 29 12:11:34 1990
--- Patch-7/Changes Thu Mar 28 12:02:17 1991
***************
*** 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
diff -c Patch-6/gen.c Patch-7/gen.c
*** Patch-6/gen.c Wed Aug 29 12:11:25 1990
--- Patch-7/gen.c Thu Mar 28 12:02:18 1991
***************
*** 28,34 ****
#ifndef lint
static char rcsid[] =
! "@(#) $Header: /usr/helios/u0/vern/flex/RCS/gen.c,v 2.10 90/08/29 12:11:13 vern Exp $ (LBL)";
#endif
#include "flexdef.h"
--- 28,34 ----
#ifndef lint
static char rcsid[] =
! "@(#) $Header: /home/horse/u0/vern/flex/RCS/gen.c,v 2.12 91/03/28 12:01:38 vern Exp $ (LBL)";
#endif
#include "flexdef.h"
***************
*** 799,805 ****
if ( variable_trailing_context_rules &&
! (accnum & YY_TRAILING_HEAD_MASK) &&
! accnum > 0 &&
rule_type[accnum] == RULE_VARIABLE )
{
/* special hack to flag accepting number as part
--- 799,805 ----
if ( variable_trailing_context_rules &&
! (accnum & YY_TRAILING_HEAD_MASK) &&
! accnum > 0 && accnum <= num_rules &&
rule_type[accnum] == RULE_VARIABLE )
{
/* special hack to flag accepting number as part
More information about the Comp.sources.bugs
mailing list