From: Vsevolod Stakhov Date: Fri, 22 Jan 2016 17:09:15 +0000 (+0000) Subject: Fix broken headers and task:has_flag X-Git-Tag: 1.1.2~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dce90e99c7f42de3991824fb2a7a856159088f68;p=thirdparty%2Frspamd.git Fix broken headers and task:has_flag --- diff --git a/src/libmime/message.c b/src/libmime/message.c index da34ac9cab..a7a5a86b84 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -424,7 +424,7 @@ process_raw_headers (struct rspamd_task *task, GHashTable *target, end = p + len; c = p; - while (p <= end) { + while (p < end) { /* FSM for processing headers */ switch (state) { case 0: @@ -457,6 +457,7 @@ process_raw_headers (struct rspamd_task *task, GHashTable *target, } else if (g_ascii_isspace (*p)) { /* Not header but some garbage */ + task->flags |= RSPAMD_TASK_FLAG_BROKEN_HEADERS; state = 100; next_state = 0; } @@ -598,7 +599,6 @@ process_raw_headers (struct rspamd_task *task, GHashTable *target, break; case 100: /* Fail state, skip line */ - task->flags |= RSPAMD_TASK_FLAG_BROKEN_HEADERS; if (*p == '\r') { if (*(p + 1) == '\n') { diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index 22631234e8..e4689c4832 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -1948,10 +1948,11 @@ lua_task_has_flag (lua_State *L) if (!found) { msg_warn_task ("unknown flag requested: %s", flag); + lua_pushboolean (L, 0); } } - return 0; + return 1; } static gint