diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2020-09-01 18:25:27 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2020-09-01 18:25:27 +0000 |
commit | e6403d9b9e46516e77bb92cf68112cfcb0973755 (patch) | |
tree | 7affdbee4b7ac434da019231007e844be70e8542 /regress | |
parent | f464f576eb974f463c50cdb91fa8dcf128fe6aac (diff) | |
download | mandoc-e6403d9b9e46516e77bb92cf68112cfcb0973755.tar.gz |
Ignore unreasonably large spacing modifiers in tbl layouts.
Jan Schreiber <jes at posteo dot de> ran afl on mandoc and it turned
out mandoc tried to use spacing modifiers so large that they would
trigger assertion failures in term_ascii.c, function locale_advance().
Diffstat (limited to 'regress')
-rw-r--r-- | regress/tbl/layout/Makefile | 10 | ||||
-rw-r--r-- | regress/tbl/layout/spacing-nogroff.in | 13 | ||||
-rw-r--r-- | regress/tbl/layout/spacing-nogroff.out_ascii | 18 | ||||
-rw-r--r-- | regress/tbl/layout/spacing-nogroff.out_lint | 1 | ||||
-rw-r--r-- | regress/tbl/layout/spacing.in | 43 | ||||
-rw-r--r-- | regress/tbl/layout/spacing.out_ascii | 39 |
6 files changed, 120 insertions, 4 deletions
diff --git a/regress/tbl/layout/Makefile b/regress/tbl/layout/Makefile index 2cff5851..61fb6ad4 100644 --- a/regress/tbl/layout/Makefile +++ b/regress/tbl/layout/Makefile @@ -1,15 +1,17 @@ # $OpenBSD: Makefile,v 1.6 2020/01/11 20:56:26 schwarze Exp $ REGRESS_TARGETS = badspan center complex empty emptycol emptyline -REGRESS_TARGETS += lines lines-nogroff numbers shortlines span -LINT_TARGETS = badspan complex empty +REGRESS_TARGETS += lines lines-nogroff numbers +REGRESS_TARGETS += shortlines spacing spacing-nogroff span +LINT_TARGETS = badspan complex empty spacing-nogroff -# groff-1.22.3 defects: +# groff-1.22.4 defects: # - When the layout is completely empty, # GNU eqn produces no output whatsoever for the whole table. # - When there is no horizontal line at the top, # vertical lines extend beyond the top of the table. +# - Excessive spacing modifiers in the layout are honoured. -SKIP_GROFF = empty lines-nogroff +SKIP_GROFF = empty lines-nogroff spacing-nogroff .include <bsd.regress.mk> diff --git a/regress/tbl/layout/spacing-nogroff.in b/regress/tbl/layout/spacing-nogroff.in new file mode 100644 index 00000000..926c975f --- /dev/null +++ b/regress/tbl/layout/spacing-nogroff.in @@ -0,0 +1,13 @@ +.\" $OpenBSD$ +.TH TBL-LAYOUT-SPACING 1 "September 1, 2020" +.SH NAME +tbl-layout-spacing-nogroff \- excessive spacing modifier +.SH DESCRIPTION +initial text +.TS +box tab(:); +R 10 L. +a:b +.TE +.sp +final text diff --git a/regress/tbl/layout/spacing-nogroff.out_ascii b/regress/tbl/layout/spacing-nogroff.out_ascii new file mode 100644 index 00000000..f4d68e74 --- /dev/null +++ b/regress/tbl/layout/spacing-nogroff.out_ascii @@ -0,0 +1,18 @@ +TBL-LAYOUT-SPACING(1) General Commands Manual TBL-LAYOUT-SPACING(1) + + + +NNAAMMEE + tbl-layout-spacing-nogroff - excessive spacing modifier + +DDEESSCCRRIIPPTTIIOONN + initial text + + +------+ + |a b | + +------+ + final text + + + +OpenBSD September 1, 2020 TBL-LAYOUT-SPACING(1) diff --git a/regress/tbl/layout/spacing-nogroff.out_lint b/regress/tbl/layout/spacing-nogroff.out_lint new file mode 100644 index 00000000..6f659c21 --- /dev/null +++ b/regress/tbl/layout/spacing-nogroff.out_lint @@ -0,0 +1 @@ +mandoc: spacing-nogroff.in:9:3: ERROR: ignoring excessive spacing in tbl layout: 10 diff --git a/regress/tbl/layout/spacing.in b/regress/tbl/layout/spacing.in new file mode 100644 index 00000000..228334b7 --- /dev/null +++ b/regress/tbl/layout/spacing.in @@ -0,0 +1,43 @@ +.\" $OpenBSD$ +.TH TBL-LAYOUT-SPACING 1 "September 1, 2020" +.SH NAME +tbl-layout-spacing \- spacing modifiers +.SH DESCRIPTION +default spacing: +.TS +box tab(:); +R L. +a:b +.TE +.sp +spacing 0: +.TS +box tab(:); +R 0 L. +a:b +.TE +.sp +spacing 1: +.TS +box tab(:); +R 1 L. +a:b +.TE +.sp +spacing 2: +.TS +allbox tab(:); +R 2 L. +a:b +.TE +.sp +spacing 5: +.TS +allbox tab(:); +R 5|| L. +a:b +.TE +.sp +leaked tab settings: +.br +a b c d e f diff --git a/regress/tbl/layout/spacing.out_ascii b/regress/tbl/layout/spacing.out_ascii new file mode 100644 index 00000000..3d51d7d5 --- /dev/null +++ b/regress/tbl/layout/spacing.out_ascii @@ -0,0 +1,39 @@ +TBL-LAYOUT-SPACING(1) General Commands Manual TBL-LAYOUT-SPACING(1) + + + +NNAAMMEE + tbl-layout-spacing - spacing modifiers + +DDEESSCCRRIIPPTTIIOONN + default spacing: + + +------+ + |a b | + +------+ + spacing 0: + + +---+ + |ab | + +---+ + spacing 1: + + +----+ + |a b | + +----+ + spacing 2: + + +--+--+ + |a |b | + +--+--+ + spacing 5: + + +---++---+ + |a || b | + +---++---+ + leaked tab settings: + a b cdef + + + +OpenBSD September 1, 2020 TBL-LAYOUT-SPACING(1) |