]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Fix overwriting of lowercased content-disposition data
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 8 Mar 2018 17:13:42 +0000 (17:13 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 8 Mar 2018 17:13:42 +0000 (17:13 +0000)
src/libmime/content_type.c

index bcb047898167ef1433d24455b7375e6dbcbb5112..61520c425e2c40d46925839d3991b5a301c3d00a 100644 (file)
@@ -502,13 +502,12 @@ rspamd_content_disposition_parse (const gchar *in,
 {
        struct rspamd_content_disposition *res = NULL, val;
 
-       val.lc_data = rspamd_mempool_alloc (pool, len + 1);
-       rspamd_strlcpy (val.lc_data, in, len);
-       rspamd_str_lc (val.lc_data, len);
-
        if (rspamd_content_disposition_parser (in, len, &val, pool)) {
                res = rspamd_mempool_alloc (pool, sizeof (val));
                memcpy (res, &val, sizeof (val));
+               res->lc_data = rspamd_mempool_alloc (pool, len + 1);
+               rspamd_strlcpy (res->lc_data, in, len);
+               rspamd_str_lc (res->lc_data, len);
        }
        else {
                msg_warn_pool ("cannot parse content disposition: %*s",