mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 06:41:32 +02:00
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.
This commit is contained in:
parent
ae6b56800f
commit
d2605cf0e5
@ -5858,7 +5858,7 @@ void update_word_fingerprint(uint8_t *fp, const char *word)
|
|||||||
const char *hash_anon(uint32_t scramble, const char *string2hash, const char *prefix, const char *suffix)
|
const char *hash_anon(uint32_t scramble, const char *string2hash, const char *prefix, const char *suffix)
|
||||||
{
|
{
|
||||||
index_hash++;
|
index_hash++;
|
||||||
if (index_hash > NB_L_HASH_WORD)
|
if (index_hash == NB_L_HASH_WORD)
|
||||||
index_hash = 0;
|
index_hash = 0;
|
||||||
|
|
||||||
/* don't hash empty strings */
|
/* don't hash empty strings */
|
||||||
@ -5885,7 +5885,7 @@ const char *hash_ipanon(uint32_t scramble, char *ipstring)
|
|||||||
int port;
|
int port;
|
||||||
|
|
||||||
index_hash++;
|
index_hash++;
|
||||||
if (index_hash > NB_L_HASH_WORD) {
|
if (index_hash == NB_L_HASH_WORD) {
|
||||||
index_hash = 0;
|
index_hash = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user