]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc_hash.c
`An' gives correct error message in encountering arguments/parameters.
[mandoc.git] / mdoc_hash.c
index 0e14b23583386635065eeca2fe4344e711a8b411..5a8ff655a502a531c5aa19b044fa482fbfeb5600 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_hash.c,v 1.6 2009/07/17 10:56:27 kristaps Exp $ */
+/*     $Id: mdoc_hash.c,v 1.8 2009/07/20 20:49:22 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -14,6 +14,8 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+#include <sys/types.h>
+
 #include <assert.h>
 #include <ctype.h>
 #include <stdlib.h>
@@ -127,6 +129,9 @@ mdoc_hash_find(const void *arg, const char *tmp)
 
        ind = INDEX(major, minor);
 
+       if (ind < 0 || ind >= 26 * 3 * 52)
+               return(MDOC_MAX);
+
        if (htab[ind]) {
                slot = htab[ind] - /* LINTED */
                        (void *)mdoc_macros;