]> source.dussan.org Git - rspamd.git/commitdiff
Fix dkim parser for old glib.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 1 May 2014 11:05:17 +0000 (12:05 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 1 May 2014 11:09:36 +0000 (12:09 +0100)
Issue: #56
Reported by: @eneq123

src/dkim.c

index b68eec879a917e3f923e6115052947ce1eb8b0ff..3c23685bf8f5fe54a39592969bdb9de435982e1d 100644 (file)
@@ -83,7 +83,7 @@ rspamd_dkim_parse_signature (rspamd_dkim_context_t* ctx, const gchar *param, gsi
        gchar *tmp;
        gsize tmp_len = len;
        tmp = g_base64_decode (ctx->b, &tmp_len);
-       rspamd_strlcpy (ctx->b, tmp, len + 1);
+       rspamd_strlcpy (ctx->b, tmp, tmp_len + 1);
        g_free (tmp);
 #else
        g_base64_decode_inplace (ctx->b, &len);
@@ -334,7 +334,7 @@ rspamd_dkim_parse_bodyhash (rspamd_dkim_context_t* ctx, const gchar *param, gsiz
        gchar *tmp;
        gsize tmp_len = len;
        tmp = g_base64_decode (ctx->bh, &tmp_len);
-       rspamd_strlcpy (ctx->bh, tmp, len + 1);
+       rspamd_strlcpy (ctx->bh, tmp, tmp_len + 1);
        g_free (tmp);
 #else
        g_base64_decode_inplace (ctx->bh, &len);
@@ -647,7 +647,7 @@ rspamd_dkim_make_key (const gchar *keydata, guint keylen, GError **err)
        gchar *tmp;
        gsize tmp_len = keylen;
        tmp = g_base64_decode (key->keydata, &tmp_len);
-       rspamd_strlcpy (key->keydata, tmp, keylen + 1);
+       rspamd_strlcpy (key->keydata, tmp, tmp_len + 1);
        g_free (tmp);
        key->decoded_len = tmp_len;
 #else