aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--dfa.c2
-rw-r--r--pc/ChangeLog4
-rw-r--r--pc/Makefile.tst11
-rw-r--r--test/ChangeLog5
-rw-r--r--test/Makefile.am8
-rw-r--r--test/Makefile.in13
-rw-r--r--test/Maketests5
-rw-r--r--test/dfastress.awk1
-rw-r--r--test/dfastress.ok1
-rw-r--r--vms/ChangeLog4
-rw-r--r--vms/vmstest.com2
12 files changed, 51 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 5489cff7..af6bd99f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 20 20:33:26 2011 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c (dfaanalyze): Allocate the right number of leaves to
+ avoid crashes. Thanks to Jim Meyering.
+
Mon Jun 20 20:22:35 2011 Arnold D. Robbins <arnold@skeeve.com>
* dfa.c (setbit_c, setbit_case_fold_c): Compare btowc result against
diff --git a/dfa.c b/dfa.c
index 0c110548..228c9090 100644
--- a/dfa.c
+++ b/dfa.c
@@ -2137,7 +2137,7 @@ dfaanalyze (struct dfa *d, int searchflag)
MALLOC(lastpos, position, d->nleaves);
o_lastpos = lastpos, lastpos += d->nleaves;
CALLOC(nalloc, int, d->tindex);
- MALLOC(merged.elems, position, d->nleaves);
+ MALLOC(merged.elems, position, 2 * d->nleaves);
CALLOC(d->follows, position_set, d->tindex);
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 919e8556..96621200 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jun 20 20:37:19 2011 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.tst: Sync with mainline version.
+
Mon Jun 20 20:16:58 2011 Eli Zaretskii <eliz@gnu.org>
* Makefile (LIBOBJS): Remove hard-locale$O.
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index 09e3f0de..b932bd68 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -127,9 +127,9 @@ BASIC_TESTS = \
aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
closebad clsflnam compare compare2 concat1 concat2 concat3 \
concat4 convfmt datanonl defref delargv delarpm2 delarprm delfunc \
- dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 fldchg \
- fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc fordel \
- forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
+ dfastress dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 \
+ fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \
+ fordel forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
@@ -942,6 +942,11 @@ delfunc:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+dfastress:
+ @echo dfastress
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
dynlj:
@echo dynlj
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/ChangeLog b/test/ChangeLog
index 96962f3c..3d5b4de4 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 20 20:35:04 2011 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfastress.awk, dfastress.ok: New files.
+ * Makefile.am (dfastress): New test.
+
Sun Jun 5 21:45:27 2011 Arnold D. Robbins <arnold@skeeve.com>
* fpat1.ok, fpat1.in: Updated to test things better.
diff --git a/test/Makefile.am b/test/Makefile.am
index e3dbce04..9e66a8f1 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -167,6 +167,8 @@ EXTRA_DIST = \
devfd1.awk \
devfd1.ok \
devfd2.ok \
+ dfastress.awk \
+ dfastress.ok \
double1.awk \
double1.ok \
double2.awk \
@@ -760,9 +762,9 @@ BASIC_TESTS = \
aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
closebad clsflnam compare compare2 concat1 concat2 concat3 \
concat4 convfmt datanonl defref delargv delarpm2 delarprm delfunc \
- dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 fldchg \
- fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc fordel \
- forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
+ dfastress dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 \
+ fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \
+ fordel forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
diff --git a/test/Makefile.in b/test/Makefile.in
index 3de264e3..3399016b 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -352,6 +352,8 @@ EXTRA_DIST = \
devfd1.awk \
devfd1.ok \
devfd2.ok \
+ dfastress.awk \
+ dfastress.ok \
double1.awk \
double1.ok \
double2.awk \
@@ -945,9 +947,9 @@ BASIC_TESTS = \
aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
closebad clsflnam compare compare2 concat1 concat2 concat3 \
concat4 convfmt datanonl defref delargv delarpm2 delarprm delfunc \
- dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 fldchg \
- fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc fordel \
- forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
+ dfastress dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 \
+ fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \
+ fordel forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
@@ -1914,6 +1916,11 @@ delfunc:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+dfastress:
+ @echo dfastress
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
dynlj:
@echo dynlj
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 243d07b7..9a16eb7c 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -190,6 +190,11 @@ delfunc:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+dfastress:
+ @echo dfastress
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
dynlj:
@echo dynlj
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/dfastress.awk b/test/dfastress.awk
new file mode 100644
index 00000000..40dd3ee7
--- /dev/null
+++ b/test/dfastress.awk
@@ -0,0 +1 @@
+BEGIN { print "a" ~ /(^| )*(a|b)*(c|d)( |$)/ }
diff --git a/test/dfastress.ok b/test/dfastress.ok
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/test/dfastress.ok
@@ -0,0 +1 @@
+0
diff --git a/vms/ChangeLog b/vms/ChangeLog
index bfbf759c..ba585535 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jun 20 20:38:35 2011 Arnold D. Robbins <arnold@skeeve.com>
+
+ * vmstest.com (dfastress): New test.
+
Mon Jun 20 20:24:34 2011 Pat Rankin <rankin@pactechdata.com>
* descrip.mms: Remove compilation of hard-locale.c.
diff --git a/vms/vmstest.com b/vms/vmstest.com
index 5a2078a2..b771028c 100644
--- a/vms/vmstest.com
+++ b/vms/vmstest.com
@@ -48,6 +48,7 @@ $ list = "msg addcomma anchgsub argarray arrayparm arrayref" -
$ gosub list_of_tests
$ list = "concat2 concat3 concat4 convfmt datanonl defref" -
+ " delargv delarprm delarpm2 delfunc dynlj eofsplit exitval1" -
+ + " dfastress" -
+ " exitval2 fcall_exit fcall_exit2 fldchg fldchgnf" -
+ " fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc" -
+ " fordel forref forsimp fsbs fsspcoln fsrs fstabplus" -
@@ -940,6 +941,7 @@ $aryprm5:
$aryprm6:
$aryprm7:
$delfunc:
+$dfastress:
$nfneg:
$numindex:
$scalar: