From cc1572ad8c1416147be5842b72548f687cefd002 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 8 Mar 2017 13:18:10 +0000 Subject: prevent infinite recursion while expanding the arguments of a user-defined macro; issue found by tb@ with afl(1) --- regress/roff/de/infinite.in | 6 ++++++ regress/roff/de/infinite.out_ascii | 2 +- regress/roff/de/infinite.out_lint | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'regress/roff') diff --git a/regress/roff/de/infinite.in b/regress/roff/de/infinite.in index 683eba7f..b6dac1f7 100644 --- a/regress/roff/de/infinite.in +++ b/regress/roff/de/infinite.in @@ -7,6 +7,12 @@ .Sh DESCRIPTION initial text .de mym +.Op \\$1 \\$2 +.. +.mym $1 \$1 +.mym \$1 nothing +middle text +.de mym .mym not printed .. diff --git a/regress/roff/de/infinite.out_ascii b/regress/roff/de/infinite.out_ascii index 7f8210ab..17070a20 100644 --- a/regress/roff/de/infinite.out_ascii +++ b/regress/roff/de/infinite.out_ascii @@ -4,6 +4,6 @@ NNAAMMEE ddee--iinnffiinniittee - inifinte recursion in a user-defined macro DDEESSCCRRIIPPTTIIOONN - initial text final text + initial text [$1 $1] middle text final text OpenBSD March 7, 2017 OpenBSD diff --git a/regress/roff/de/infinite.out_lint b/regress/roff/de/infinite.out_lint index 168c7be4..7cea727c 100644 --- a/regress/roff/de/infinite.out_lint +++ b/regress/roff/de/infinite.out_lint @@ -1 +1,2 @@ mandoc: infinite.in:13:5: ERROR: input stack limit exceeded, infinite loop? +mandoc: infinite.in:19:5: ERROR: input stack limit exceeded, infinite loop? -- cgit v1.2.3-56-ge451