]> source.dussan.org Git - rspamd.git/commitdiff
Resize hashes array properly.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 19 Dec 2014 10:55:06 +0000 (10:55 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 19 Dec 2014 10:55:06 +0000 (10:55 +0000)
src/libutil/shingles.c
test/rspamd_shingles_test.c

index 6d33c7f26001d9113545f6bc515ee68f9e919719..9421c1529e518a3693dff1f6e2be4f07122e4ba8 100644 (file)
@@ -69,7 +69,7 @@ rspamd_shingles_generate (GArray *input,
        /* Init hashes pipes and keys */
        for (i = 0; i < RSPAMD_SHINGLE_SIZE; i ++) {
                hashes[i] = g_array_sized_new (FALSE, FALSE, sizeof (guint64),
-                               SHINGLES_WINDOW * 2);
+                               input->len + SHINGLES_WINDOW);
                /*
                 * To generate a set of hashes we just apply sha256 to the
                 * initial key as many times as many hashes are required and
@@ -80,7 +80,7 @@ rspamd_shingles_generate (GArray *input,
                blake2b_final (&bs, shabuf, shalen);
 
                for (j = 0; j < 16; j ++) {
-                       out_key[j] = shabuf[j] ^ shabuf[sizeof(shabuf) - j - 1];
+                       out_key[j] = shabuf[j];
                }
                blake2b_init (&bs, BLAKE2B_OUTBYTES);
                cur_key = out_key;
index 44bc1e789235652197ffeabacf9241590b24f1fa..e6cd0abb335ebc5f7e13bc315a3c1f01090ef9b8 100644 (file)
@@ -107,7 +107,7 @@ test_case (gsize cnt, gsize max_len, gdouble perm_factor)
 
        res = rspamd_shingles_compare (sgl, sgl_permuted);
 
-       msg_debug ("percentage of common shingles: %.3f, generate time: %Hd usec",
+       msg_debug ("percentage of common shingles: %.3f, generate time: %hd usec",
                        res, ts_to_usec (&ts2) - ts_to_usec (&ts1));
        g_assert_cmpfloat (fabs ((1.0 - res) - sqrt (perm_factor)), <=, 0.20);