]> git.cameronkatri.com Git - mandoc.git/commitdiff
If wlevel in mparse_alloc() is greater than MANDOCLEVEL_FATAL, we'll
authorKristaps Dzonsons <kristaps@bsd.lv>
Sun, 3 Apr 2011 10:11:25 +0000 (10:11 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Sun, 3 Apr 2011 10:11:25 +0000 (10:11 +0000)
throw assertions due to per-file-error not being properly set in mmsg().
This is reasonable behaviour (we shouldn't be able to ignore FATAL after
all).  Thus, make sure wlevel is sanitised.

read.c

diff --git a/read.c b/read.c
index 1da8f164c510d51c40e4fe0392869e6ca4b5f4a9..6c240c2bd2ba188798c0025f45f1087cd84d251e 100644 (file)
--- a/read.c
+++ b/read.c
@@ -1,4 +1,4 @@
-/*     $Id: read.c,v 1.9 2011/04/03 10:05:37 kristaps Exp $ */
+/*     $Id: read.c,v 1.10 2011/04/03 10:11:25 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2011 Ingo Schwarze <schwarze@openbsd.org>
@@ -662,6 +662,8 @@ mparse_alloc(enum mparset inttype, enum mandoclevel wlevel, mandocmsg mmsg, void
 {
        struct mparse   *curp;
 
+       assert(wlevel <= MANDOCLEVEL_FATAL);
+
        curp = mandoc_calloc(1, sizeof(struct mparse));
 
        curp->wlevel = wlevel;