]> git.cameronkatri.com Git - mandoc.git/blobdiff - man.c
Do not segfault in makewhatis -Q if the next .SH after .SH NAME
[mandoc.git] / man.c
diff --git a/man.c b/man.c
index 272b1e6e2f4b918b39f8898640674d601fc9c0fa..ac69d1763714f2d8611b139181a1cd7a51ce9ca2 100644 (file)
--- a/man.c
+++ b/man.c
@@ -1,4 +1,4 @@
-/*     $Id: man.c,v 1.129 2014/04/20 16:46:04 schwarze Exp $ */
+/*     $Id: man.c,v 1.130 2014/05/07 14:14:17 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -595,9 +595,12 @@ man_pmacro(struct man *man, int ln, char *buf, int offs)
 
        /* In quick mode (for mandocdb), abort after the NAME section. */
 
-       if (man->quick && MAN_SH == tok &&
-           strcmp(man->last->prev->child->string, "NAME"))
-               return(2);
+       if (man->quick && MAN_SH == tok) {
+               n = man->last;
+               if (MAN_BODY == n->type &&
+                   strcmp(n->prev->child->string, "NAME"))
+                       return(2);
+       }
 
        /*
         * We weren't in a block-line scope when entering the