From: Vsevolod Stakhov Date: Wed, 17 May 2017 15:04:49 +0000 (+0100) Subject: [Minor] Warn about get_date misuse X-Git-Tag: 1.6.0~190 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5af7c8321b867fde8414ac1b9daaeedb695cb231;p=rspamd.git [Minor] Warn about get_date misuse --- diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index 0cb531c09..68822f348 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -3058,7 +3058,8 @@ enum lua_date_type { }; static enum lua_date_type -lua_task_detect_date_type (lua_State *L, gint idx, gboolean *gmt) +lua_task_detect_date_type (struct rspamd_task *task, + lua_State *L, gint idx, gboolean *gmt) { enum lua_date_type type = DATE_CONNECT; @@ -3074,16 +3075,22 @@ lua_task_detect_date_type (lua_State *L, gint idx, gboolean *gmt) lua_pushvalue (L, idx); lua_pushstring (L, "format"); lua_gettable (L, -2); + str = lua_tostring (L, -1); - if (g_ascii_strcasecmp (str, "message") == 0) { - type = DATE_MESSAGE; - } - else if (g_ascii_strcasecmp (str, "connect_str") == 0) { - type = DATE_CONNECT_STRING; + + if (str) { + if (g_ascii_strcasecmp (str, "message") == 0) { + type = DATE_MESSAGE; + } else if (g_ascii_strcasecmp (str, "connect_str") == 0) { + type = DATE_CONNECT_STRING; + } else if (g_ascii_strcasecmp (str, "message_str") == 0) { + type = DATE_MESSAGE_STRING; + } } - else if (g_ascii_strcasecmp (str, "message_str") == 0) { - type = DATE_MESSAGE_STRING; + else { + msg_warn_task ("date format has not been specified"); } + lua_pop (L, 1); lua_pushstring (L, "gmt"); @@ -3111,7 +3118,7 @@ lua_task_get_date (lua_State *L) if (task != NULL) { if (lua_gettop (L) > 1) { - type = lua_task_detect_date_type (L, 2, &gmt); + type = lua_task_detect_date_type (task, L, 2, &gmt); } /* Get GMT date and store it to time_t */ if (type == DATE_CONNECT || type == DATE_CONNECT_STRING) {