summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2017-03-11 16:03:24 +0000
committerschwarze <schwarze@openbsd.org>2017-03-11 16:03:24 +0000
commit1f01ac87d1029f8209657d076df81760586a7138 (patch)
tree20d6bbe29227c5882a4c877350d05156a5c0e050
parentImprove detection of recursive eqn(7) "define" statements: (diff)
downloadwireguard-openbsd-1f01ac87d1029f8209657d076df81760586a7138.tar.xz
wireguard-openbsd-1f01ac87d1029f8209657d076df81760586a7138.zip
test infinite recursion in eqn(7) "define" statements
-rw-r--r--regress/usr.bin/mandoc/eqn/define/Makefile6
-rw-r--r--regress/usr.bin/mandoc/eqn/define/infinite.in30
-rw-r--r--regress/usr.bin/mandoc/eqn/define/infinite.out_ascii15
-rw-r--r--regress/usr.bin/mandoc/eqn/define/infinite.out_lint4
4 files changed, 52 insertions, 3 deletions
diff --git a/regress/usr.bin/mandoc/eqn/define/Makefile b/regress/usr.bin/mandoc/eqn/define/Makefile
index 4be9cf5ebed..ea03b23dcb7 100644
--- a/regress/usr.bin/mandoc/eqn/define/Makefile
+++ b/regress/usr.bin/mandoc/eqn/define/Makefile
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile,v 1.1 2015/01/28 21:10:28 schwarze Exp $
+# $OpenBSD: Makefile,v 1.2 2017/03/11 16:03:24 schwarze Exp $
-REGRESS_TARGETS = invalid
-LINT_TARGETS = invalid
+REGRESS_TARGETS = invalid infinite
+LINT_TARGETS = invalid infinite
.include <bsd.regress.mk>
diff --git a/regress/usr.bin/mandoc/eqn/define/infinite.in b/regress/usr.bin/mandoc/eqn/define/infinite.in
new file mode 100644
index 00000000000..f37602fb05b
--- /dev/null
+++ b/regress/usr.bin/mandoc/eqn/define/infinite.in
@@ -0,0 +1,30 @@
+.Dd March 11, 2017
+.Dt DEFINE-INFINITE 1
+.Os OpenBSD
+.Sh NAME
+.Nm define-infinite
+.Nd infinite recursion in define statements
+.Sh DESCRIPTION
+alone:
+.EQ
+define key 'key' key
+.EN
+eol
+.Pp
+leading position:
+.EQ
+define key 'key suffix' key
+.EN
+eol
+.Pp
+middle position:
+.EQ
+define key 'prefix key suffix' key
+.EN
+eol
+.Pp
+trailing position:
+.EQ
+define key 'prefix key' key
+.EN
+eol
diff --git a/regress/usr.bin/mandoc/eqn/define/infinite.out_ascii b/regress/usr.bin/mandoc/eqn/define/infinite.out_ascii
new file mode 100644
index 00000000000..772d526bf53
--- /dev/null
+++ b/regress/usr.bin/mandoc/eqn/define/infinite.out_ascii
@@ -0,0 +1,15 @@
+DEFINE-INFINITE(1) General Commands Manual DEFINE-INFINITE(1)
+
+NNAAMMEE
+ ddeeffiinnee--iinnffiinniittee - infinite recursion in define statements
+
+DDEESSCCRRIIPPTTIIOONN
+ alone: eol
+
+ leading position: eol
+
+ middle position: eol
+
+ trailing position: eol
+
+OpenBSD March 11, 2017 OpenBSD
diff --git a/regress/usr.bin/mandoc/eqn/define/infinite.out_lint b/regress/usr.bin/mandoc/eqn/define/infinite.out_lint
new file mode 100644
index 00000000000..cb5a00480f0
--- /dev/null
+++ b/regress/usr.bin/mandoc/eqn/define/infinite.out_lint
@@ -0,0 +1,4 @@
+mandoc: infinite.in:9:1: ERROR: input stack limit exceeded, infinite loop?
+mandoc: infinite.in:15:1: ERROR: input stack limit exceeded, infinite loop?
+mandoc: infinite.in:21:1: ERROR: input stack limit exceeded, infinite loop?
+mandoc: infinite.in:27:1: ERROR: input stack limit exceeded, infinite loop?