The problem is that match_list-->number_matched is being accessed,
when match_list has length only number_matched (that is, entries 0..number_matched-1).
In particular this causes errors when the match_list is of full length (64 entries).
Similarly for match_scores. Apply this patch to parserm.h:
About Patches
Issue L61125 [previous patch]
match_list and match_scores over-run
Submitted by: Martin Bays
Appeared in: Library 6/11 or before
Fixed in: -
Problem
Solution
@@ -3390,7 +3390,7 @@
for (i=0 : i<number_matched : i++) {
while (match_list-->i == -1) {
if (i == number_matched-1) { number_matched--; break; }
- for (j=i : j<number_matched : j++) {
+ for (j=i : j<number_matched-1 : j++) {
match_list-->j = match_list-->(j+1);
match_scores-->j = match_scores-->(j+1);
}
Last updated 17 April 2013.
This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation.
Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Roger Firth.