[tex-live] Re: [tex-implementors] Re: bug in etex
Olaf Weber
olaf at infovore.xs4all.nl
Tue Jul 13 19:29:58 CEST 2004
Philip TAYLOR writes:
> Peter Breitenlohner wrote:
>> On Tue, 13 Jul 2004, Peter Breitenlohner wrote:
>>> ..........
>>> Could any one test this on a non-linux Unix system and report the
>>> outcome?
>> Thanks to all the testers; here a short summary:
>> Petr Sojka, Martin Schroeder, and Apostolos Syropoulos reported a
>> Segmentation Fault (or Bus Error) on different SunOS and IRIX systems,
>> all using (different versions of) Web2C.
>> Phil Taylor reported no such problem with the VMS Pascal
>> implementation.
> Just by way of clarification, here are the command-line qualifiers
> for the Pascal incantation :
> "/noopt /check=all /float=g_float /list /debug"
> Of these, "/Check=all" is significant (all array accesses checked).
What is null in etex in the Pascal version? In web2c it is defined as
min_halfword, which is a large negative number (-@"FFFFFFF). However,
in the original tex.web, min_halfword equals 0. So the reason the
Pascal version doesn't trap may be that an invalid (null) cur_ptr,
is still a valid array index, in contrast to web2c.
The web2c sources contain a small change file etex.fix which contains
two fixes for what (as far as we've been able to determine) are
definitely bugs in etex. One of these is a confusion of null and 0
involving cur_ptr.
% Bugfixes for etex.ch version 2.1
% Public Domain.
@x l.1163
begin cur_val:=int_val;
@y
begin cur_val_level:=int_val;
@z
@x l.5503
if cur_ptr<>0 then
@y
if cur_ptr<>null then
@z
--
Olaf Weber
(This space left blank for technical reasons.)
More information about the tex-live
mailing list