[tex-k] [WEB] Possible range error in WEAVE.WEB
Andreas Scherer
andreas_tex at freenet.de
Fri Aug 6 08:37:07 CEST 2021
Dear all,
I believe that line 4663 of WEAVE.WEB (definition of procedure
'unbucket' in module 249) should be changed as follows:
@x
begin if sort_ptr>max_sorts then overflow('sorting');
@y
begin if sort_ptr=max_sorts then overflow('sorting');
@z
(1) The Free Pascal compiler (version 3.2.2 on MacOS 11) issues a
warning that a 'Comparison might be always false' and that the
conditional code might not be reachable.
(2) 'sort_ptr' is, in fact, defined -- via WEB's '@d' directive -- as
'sort_ptr: 0..max_sorts'.
(3) CWEB's cweave.w correctly checks 'scrt_ptr>=scrap_info_end' in
similar code.
(4) Other index variables (xref_tr, module_count, stack_ptr) are checked
with '=' against their maximal value before the next 'incr(...)'.
Stay safe!
Andreas
More information about the tex-k
mailing list.