diff --git a/src/util-var-name.c b/src/util-var-name.c index 31923f2c40..3af35dc51e 100644 --- a/src/util-var-name.c +++ b/src/util-var-name.c @@ -65,6 +65,9 @@ typedef struct VariableName_ { uint32_t idx; } VariableName; +#define VARNAME_HASHSIZE 0x1000 +#define VARID_HASHSIZE 0x1000 + static uint32_t VariableNameHash(HashListTable *ht, void *buf, uint16_t buflen) { VariableName *fn = (VariableName *)buf; @@ -75,7 +78,7 @@ static uint32_t VariableNameHash(HashListTable *ht, void *buf, uint16_t buflen) hash += fn->name[u]; } - return hash; + return (hash % VARNAME_HASHSIZE); } static char VariableNameCompare(void *buf1, uint16_t len1, void *buf2, uint16_t len2) @@ -96,7 +99,7 @@ static uint32_t VariableIdxHash(HashListTable *ht, void *buf, uint16_t buflen) { VariableName *fn = (VariableName *)buf; uint32_t hash = fn->idx + fn->type; - return hash; + return (hash % VARID_HASHSIZE); } static char VariableIdxCompare(void *buf1, uint16_t len1, void *buf2, uint16_t len2) @@ -136,13 +139,13 @@ static VarNameStore *VarNameStoreInit(void) if (v == NULL) return NULL; - v->names = HashListTableInit(4096, VariableNameHash, VariableNameCompare, VariableNameFree); + v->names = HashListTableInit(VARNAME_HASHSIZE, VariableNameHash, VariableNameCompare, VariableNameFree); if (v->names == NULL) { SCFree(v); return NULL; } - v->ids = HashListTableInit(4096, VariableIdxHash, VariableIdxCompare, NULL); + v->ids = HashListTableInit(VARID_HASHSIZE, VariableIdxHash, VariableIdxCompare, NULL); if (v->ids == NULL) { HashListTableFree(v->names); SCFree(v);