diff options
author | 2017-07-14 17:16:13 +0000 | |
---|---|---|
committer | 2017-07-14 17:16:13 +0000 | |
commit | 7d8d207553b6e89180388afa35cbda5c602bae25 (patch) | |
tree | 5df689a4f39c981f7126608501ff4ff390f42bdc /usr.bin/mandoc/roff.c | |
parent | kernels don't build without MROUTING because ip_var.h only sometimes (diff) | |
download | wireguard-openbsd-7d8d207553b6e89180388afa35cbda5c602bae25.tar.xz wireguard-openbsd-7d8d207553b6e89180388afa35cbda5c602bae25.zip |
The .Dd and .TH macros must interrupt .ce, too;
fixing tree corruption and assertion failure found by jsg@ with afl(1)
Diffstat (limited to 'usr.bin/mandoc/roff.c')
-rw-r--r-- | usr.bin/mandoc/roff.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/mandoc/roff.c b/usr.bin/mandoc/roff.c index 2b35d82a4e9..dfaf843c7c1 100644 --- a/usr.bin/mandoc/roff.c +++ b/usr.bin/mandoc/roff.c @@ -1,4 +1,4 @@ -/* $OpenBSD: roff.c,v 1.195 2017/07/14 16:49:16 schwarze Exp $ */ +/* $OpenBSD: roff.c,v 1.196 2017/07/14 17:16:13 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2015, 2017 Ingo Schwarze <schwarze@openbsd.org> @@ -1557,7 +1557,8 @@ roff_parseln(struct roff *r, int ln, struct buf *buf, int *offs) /* For now, let high level macros abort .ce mode. */ if (ctl && roffce_node != NULL && - (t == TOKEN_NONE || t == ROFF_EQ || t == ROFF_TS)) { + (t == TOKEN_NONE || t == ROFF_Dd || t == ROFF_EQ || + t == ROFF_TH || t == ROFF_TS)) { r->man->last = roffce_node; r->man->next = ROFF_NEXT_SIBLING; roffce_lines = 0; |