]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Init xxhash3 state properly
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 5 Jan 2022 13:51:17 +0000 (13:51 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 5 Jan 2022 13:51:17 +0000 (13:51 +0000)
src/libcryptobox/cryptobox.c

index 41f13ed73e81f7c7878b10b5780256c09cbbbf9d..3caf364e650c30c7a1596971725f8b868ac28c7a 100644 (file)
@@ -1519,9 +1519,10 @@ void
 rspamd_cryptobox_fast_hash_init (rspamd_cryptobox_fast_hash_state_t *st,
                guint64 seed)
 {
-       XXH3_state_t *rst = (XXH3_state_t *)st->opaque;
+       XXH3_state_t *xst = (XXH3_state_t *)st->opaque;
        st->type = RSPAMD_CRYPTOBOX_XXHASH3;
-       XXH3_64bits_reset_withSeed (rst, seed);
+       XXH3_INITSTATE (xst);
+       XXH3_64bits_reset_withSeed (xst, seed);
 }
 
 void
@@ -1540,6 +1541,7 @@ rspamd_cryptobox_fast_hash_init_specific (rspamd_cryptobox_fast_hash_state_t *st
        }
        case RSPAMD_CRYPTOBOX_XXHASH64: {
                XXH64_state_t *xst = (XXH64_state_t *)  st->opaque;
+               memset(xst, 0, sizeof(*xst));
                st->type = RSPAMD_CRYPTOBOX_XXHASH64;
                XXH64_reset (xst, seed);
                break;
@@ -1547,6 +1549,7 @@ rspamd_cryptobox_fast_hash_init_specific (rspamd_cryptobox_fast_hash_state_t *st
        case RSPAMD_CRYPTOBOX_XXHASH32:
        {
                XXH32_state_t *xst = (XXH32_state_t *)  st->opaque;
+               memset(xst, 0, sizeof(*xst));
                st->type = RSPAMD_CRYPTOBOX_XXHASH32;
                XXH32_reset (xst, seed);
                break;
@@ -1554,6 +1557,7 @@ rspamd_cryptobox_fast_hash_init_specific (rspamd_cryptobox_fast_hash_state_t *st
        case RSPAMD_CRYPTOBOX_XXHASH3:
        {
                XXH3_state_t *xst = (XXH3_state_t *)  st->opaque;
+               XXH3_INITSTATE(xst);
                st->type = RSPAMD_CRYPTOBOX_XXHASH3;
                XXH3_64bits_reset_withSeed (xst, seed);
                break;