]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Warn about get_date misuse
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 17 May 2017 15:04:49 +0000 (16:04 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 17 May 2017 15:04:49 +0000 (16:04 +0100)
src/lua/lua_task.c

index 0cb531c0909f5757641be69ef5065cd282216115..68822f348c6a12ade70d05d399f8b2b71e47d65b 100644 (file)
@@ -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) {