diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2011-09-18 23:51:31 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2011-09-18 23:51:31 +0000 |
commit | a3b1c69e9d6c4f3ba1529d6530ff694f80926242 (patch) | |
tree | 4cc1237dbdb876ae0522cb011cb08bcd9bef675d /term.h | |
parent | b9805b21686844285a66e361542127622df77b54 (diff) | |
download | mandoc-a3b1c69e9d6c4f3ba1529d6530ff694f80926242.tar.gz |
Fix another regression introduced in 1.11.7:
If a string is defined in terms of itself, the REPARSE_LIMIT in read.c
used to break the cycle. This no longer works since all the work
is now done in the function roff_res(), looping indefinitely.
Make this loop finite by arbitrarily limiting the number of times one
string may be expanded; when that limit is reached, leave the remaining
string references unexpanded.
This changes behaviour compared to 1.11.5, where the whole line would
have been dropped. The new behaviour is better because it loses less
information. We don't want to imitate groff-1.20.1 behaviour anyway
because groff aborts parsing of the whole file.
ok kristaps@
Diffstat (limited to 'term.h')
0 files changed, 0 insertions, 0 deletions