]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Check type of resources
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 18 Jan 2020 09:45:20 +0000 (09:45 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 18 Jan 2020 09:45:20 +0000 (09:45 +0000)
lualib/lua_content/pdf.lua

index 460938f8a3ddac5e5db35f7579227106a103558d..9b6ee2622a14d7cd2c9ffd1ecb200c6da29da9b0 100644 (file)
@@ -23,6 +23,7 @@ local rspamd_trie = require "rspamd_trie"
 local rspamd_util = require "rspamd_util"
 local rspamd_text = require "rspamd_text"
 local rspamd_url = require "rspamd_url"
+local rspamd_logger = require "rspamd_logger"
 local bit = require "bit"
 local N = "lua_content"
 local lua_util = require "lua_util"
@@ -524,6 +525,12 @@ local function process_dict(task, pdf, obj, dict)
     local resources = dict.Resources
     if resources and type(resources) == 'table' then
       obj.resources = maybe_dereference_object(resources, pdf, task)
+
+      if type(obj.resources) ~= 'table' then
+        rspamd_logger.infox(task, 'cannot parse resources from pdf: %s returned by grammar',
+            obj.resources)
+        obj.resources = {}
+      end
     else
       -- Fucking pdf: we need to inherit from parent
       resources = {}