aboutsummaryrefslogtreecommitdiffstats
path: root/lualib/lua_content
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-05-10 19:33:37 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-05-10 19:33:37 +0100
commitd4f4efdef40b07b452ef12b33cf192be51e0ef4f (patch)
treef109b6e930361e2c7f7ac9bddb09c5491f7b143d /lualib/lua_content
parent9645c688935b52f546f5cb45910d74cd2340174f (diff)
downloadrspamd-d4f4efdef40b07b452ef12b33cf192be51e0ef4f.tar.gz
rspamd-d4f4efdef40b07b452ef12b33cf192be51e0ef4f.zip
[Fix] Pdf: Support some weird objects with no newline before endobj
Diffstat (limited to 'lualib/lua_content')
-rw-r--r--lualib/lua_content/pdf.lua6
1 files changed, 4 insertions, 2 deletions
diff --git a/lualib/lua_content/pdf.lua b/lualib/lua_content/pdf.lua
index 92b170534..0e3f024ae 100644
--- a/lualib/lua_content/pdf.lua
+++ b/lualib/lua_content/pdf.lua
@@ -459,6 +459,8 @@ local function parse_object_grammar(obj, task, pdf)
obj.major, obj.minor, obj_or_err)
pdf.ref[obj_ref(obj.major, obj.minor)] = obj
else
+ lua_util.debugm(N, task, 'direct object %s:%s is parsed to raw data: %s',
+ obj.major, obj.minor, obj_or_err)
pdf.ref[obj_ref(obj.major, obj.minor)] = obj_or_err
obj.dict = {}
obj.uncompressed = obj_or_err
@@ -841,8 +843,8 @@ local function extract_outer_objects(task, input, pdf)
local last = pdf.end_objects[end_pos]
-- 7 is length of `endobj\n`
- if first + 7 < last then
- local len = last - first - 7
+ if first + 6 < last then
+ local len = last - first - 6
-- Also get the starting span and try to match it versus obj re to get numbers
local obj_line_potential = first - 32