summaryrefslogtreecommitdiffstats
path: root/regress/roff/ti
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2020-09-03 17:42:15 +0000
committerIngo Schwarze <schwarze@openbsd.org>2020-09-03 17:42:15 +0000
commita35ab663d9d8a034e201211f9a845f9241f7e404 (patch)
treedc2bd5b04e8efb3db52a29151396c79e7eecea5c /regress/roff/ti
parenta16b428562f34f00dcddfb348725b4270d05654f (diff)
downloadmandoc-a35ab663d9d8a034e201211f9a845f9241f7e404.tar.gz
If .ti had an excessive argument, using it was attempted, in some
cases resulting in an assertion failure. Instead, truncate the temporary indent to a width reasonable in a manual page. I found the issue in an afl run that was performed by Jan Schreiber <jes at posteo dot de>.
Diffstat (limited to 'regress/roff/ti')
-rw-r--r--regress/roff/ti/Makefile10
-rw-r--r--regress/roff/ti/wide.in19
-rw-r--r--regress/roff/ti/wide.out_ascii22
3 files changed, 49 insertions, 2 deletions
diff --git a/regress/roff/ti/Makefile b/regress/roff/ti/Makefile
index 4ac4cde0..aa0b1f97 100644
--- a/regress/roff/ti/Makefile
+++ b/regress/roff/ti/Makefile
@@ -1,5 +1,11 @@
-# $OpenBSD: Makefile,v 1.1 2017/05/07 17:30:58 schwarze Exp $
+# $OpenBSD: Makefile,v 1.2 2020/09/03 17:37:06 schwarze Exp $
-REGRESS_TARGETS = basic-mdoc basic-man
+REGRESS_TARGETS = basic-mdoc basic-man wide
+
+# groff-1.22.4 defect:
+# - Excessive temporare indentations cause excessive line lengths
+# instead of being truncated to resonable indentations.
+
+SKIP_GROFF = wide
.include <bsd.regress.mk>
diff --git a/regress/roff/ti/wide.in b/regress/roff/ti/wide.in
new file mode 100644
index 00000000..46a1f90b
--- /dev/null
+++ b/regress/roff/ti/wide.in
@@ -0,0 +1,19 @@
+.\" $OpenBSD: wide.in,v 1.1 2020/09/03 17:37:06 schwarze Exp $
+.TH TI-WIDE 1 "September 3, 2020"
+.SH NAME
+ti-wide \- excessive temporary indentation
+.SH DESCRIPTION
+Absolute .ti of more than 72n:
+.ti 80n
+max
+.RS 40n
+Indented block plus excessive relative indentation:
+.ti +40n
+max
+.RE
+.RS 66n
+Block beyond 72n:
+.ti +4n
+same
+.RE
+Back to normal.
diff --git a/regress/roff/ti/wide.out_ascii b/regress/roff/ti/wide.out_ascii
new file mode 100644
index 00000000..95a98ddc
--- /dev/null
+++ b/regress/roff/ti/wide.out_ascii
@@ -0,0 +1,22 @@
+TI-WIDE(1) General Commands Manual TI-WIDE(1)
+
+
+
+NNAAMMEE
+ ti-wide - excessive temporary indentation
+
+DDEESSCCRRIIPPTTIIOONN
+ Absolute .ti of more than 72n:
+ max
+ Indented block plus excessive
+ relative indentation:
+ max
+ Block
+ beyond
+ 72n:
+ same
+ Back to normal.
+
+
+
+OpenBSD September 3, 2020 TI-WIDE(1)