=================================================================== RCS file: /cvs/mandoc/Attic/hash.c,v retrieving revision 1.2 retrieving revision 1.4 diff -u -p -r1.2 -r1.4 --- mandoc/Attic/hash.c 2008/12/15 02:23:12 1.2 +++ mandoc/Attic/hash.c 2009/01/05 17:57:07 1.4 @@ -1,4 +1,4 @@ -/* $Id: hash.c,v 1.2 2008/12/15 02:23:12 kristaps Exp $ */ +/* $Id: hash.c,v 1.4 2009/01/05 17:57:07 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -27,7 +27,7 @@ void -mdoc_hash_free(void *htab) +mdoc_tokhash_free(void *htab) { free(htab); @@ -35,7 +35,7 @@ mdoc_hash_free(void *htab) void * -mdoc_hash_alloc(void) +mdoc_tokhash_alloc(void) { int i, major, minor, ind; const void **htab; @@ -80,7 +80,7 @@ mdoc_hash_alloc(void) int -mdoc_hash_find(const void *arg, const char *tmp) +mdoc_tokhash_find(const void *arg, const char *tmp) { int major, minor, ind, slot; const void **htab; @@ -112,6 +112,8 @@ mdoc_hash_find(const void *arg, const char *tmp) minor = tmp[1] - 97; ind = (major * 27) + minor; + if (ind < 0 || ind >= (27 * 26)) + return(MDOC_MAX); if (NULL == htab[ind]) return(MDOC_MAX);