]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Try to fix a specific case when processing milter protocol
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 19 Apr 2018 10:52:41 +0000 (11:52 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 19 Apr 2018 10:52:41 +0000 (11:52 +0100)
src/libserver/milter.c

index ba00420f696a2cb31a5455946f08ae8704fae7ea..010f2215ab22ca57c72eeff1c68b4c5738e2f59a 100644 (file)
@@ -790,7 +790,10 @@ rspamd_milter_consume_input (struct rspamd_milter_session *session,
        end = priv->parser.buf->str + priv->parser.buf->len;
 
        while (p < end) {
-               msg_debug_milter("offset: %d, state: %d", (gint)(p - (const guchar *)priv->parser.buf->str), priv->parser.state);
+               msg_debug_milter("offset: %d, state: %d",
+                               (gint)(p - (const guchar *)priv->parser.buf->str),
+                               priv->parser.state);
+
                switch (priv->parser.state) {
                case st_len_1:
                        /* The first length byte in big endian order */
@@ -908,6 +911,7 @@ rspamd_milter_consume_input (struct rspamd_milter_session *session,
        if (p == end) {
                priv->parser.buf->len = 0;
                priv->parser.pos = 0;
+               priv->parser.cmd_start = 0;
        }
 
        if (priv->out_chain) {