summaryrefslogtreecommitdiffstats
path: root/mdoc_term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-02-11 14:15:12 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-02-11 14:15:12 +0000
commita5ec4b155fd2b5756e3494144f8347f3ad03d4c1 (patch)
treea0b8e1637976da0d65a31f32be1f180875f7ef8d /mdoc_term.c
parentac2fcf5a79f33c981e28a5af1816f1f29d7a0be5 (diff)
downloadmandoc-a5ec4b155fd2b5756e3494144f8347f3ad03d4c1.tar.gz
do not access a NULL pointer if an .Eo block lacks a tail;
found by jsg@ with afl, test case #16
Diffstat (limited to 'mdoc_term.c')
-rw-r--r--mdoc_term.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/mdoc_term.c b/mdoc_term.c
index 0c13f8c1..1b5ce429 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -1989,9 +1989,8 @@ termp_eo_pre(DECL_ARGS)
n->child->end != ENDBODY_NOT)
term_word(p, "\\&");
else if (n->end != ENDBODY_NOT ? n->child != NULL :
- n->parent->head->child != NULL &&
- (n->parent->body->child != NULL ||
- n->parent->tail->child != NULL))
+ n->parent->head->child != NULL && (n->child != NULL ||
+ (n->parent->tail != NULL && n->parent->tail->child != NULL)))
p->flags |= TERMP_NOSPACE;
return(1);