Update of bug #67978 (group groff):

         Planned Release:                    None => 1.24.0

    _______________________________________________________

Follow-up Comment #4:

Updating Planned Release field.  Planning to bust the C/C++ code freeze for
this, given that it's a crasher.

Two observations:

= 1 =

The "minimal" chunk of GNU _sed_'s 4.8 distribution archive necessary to
reproduce this is still pretty big.


$ sed -n '3121,4026p' ~/src/sed-4.8.tar.xz | ./build/test-groff -Ww -z 2>&1
/dev/null && echo success
success
$ sed -n '3120,4026p' ~/src/sed-4.8.tar.xz | ./build/test-groff -Ww -z 2>&1 &&
echo success
...
/home/branden/src/GIT/groff/build/groff: error: troff: Segmentation fault
(core dumped)
$ sed -n '3120,4026p' ~/src/sed-4.8.tar.xz | wc -c
247575


We'll need a much smaller reproducing input for an automated regression test
script.

= 2 =

I noticed the following error diagnostics in my UTF-8-encoded terminal
session.


$ sed -n '3121,4026p' ~/src/sed-4.8.tar.xz | ./build/test-groff -Ww -z && echo
success
...
troff:<standard input>:554: error: no font family named '�' exists
...
troff:<standard input>:690: error: invalid base character 'k�C£"f=P9¨`' in
composite character name
...



I thought I had banned C1 controls and Latin-1 supplement characters from use
in identifiers (bug #67734).

So either (a) we're reading from uninitialized memory in these diagnostics,
which is bad--we should be zeroing out these identifiers before populating
them, something I thought I had done reasonably comprehensively already;
and/or (b) this wacked-out input is managing to create GNU _troff_ objects
with identifiers, and the formatter is not preventing injection of banned
characters codes into these identifiers.

Another diagnostic is similar, but not necessarily indicative of a problem.


troff:<standard input>:517: error: invalid argument '�' to output
suppression escape sequence


The argument to the output suppression escape sequence is a single decimal
digit, not an identifier.  (Hedge: the syntax of "\O5" permits a file name
specification, and, I feel, a design wart.
[https://www.gnu.org/software/groff/manual/groff.html.node/Suppressing-Output.html#Suppressing-Output
See the GNU troff manual.]  It, too, should not be allowed to use C1 controls
or Latin-1 Supplement characters in its argument.  We don't yet properly
support accessing non-ASCII file names from GNU _troff_, but bug #65108 plans
to do so.)


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67978>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to