BUG/MINOR: anon: memory illegal accesses in tools.c with hash_anon and hash_ipanon
chipitsine reported in github issue #1872 that in function hash_anon and
hash_ipanon, index_hash can be equal to NB_L_HASH_WORD and can reach an
inexisting line table, the table is initialized hash_word[NB_L_HASH_WORD][20];
so hash_word[NB_L_HASH_WORD] doesn't exist.
No backport needed, except if anonymization mechanism is backported.
diff --git a/src/tools.c b/src/tools.c
index 474b7df..f697eac 100644
--- a/src/tools.c
+++ b/src/tools.c
@@ -5858,7 +5858,7 @@
const char *hash_anon(uint32_t scramble, const char *string2hash, const char *prefix, const char *suffix)
{
index_hash++;
- if (index_hash > NB_L_HASH_WORD)
+ if (index_hash == NB_L_HASH_WORD)
index_hash = 0;
/* don't hash empty strings */
@@ -5885,7 +5885,7 @@
int port;
index_hash++;
- if (index_hash > NB_L_HASH_WORD) {
+ if (index_hash == NB_L_HASH_WORD) {
index_hash = 0;
}