From: Vsevolod Stakhov Date: Tue, 1 Dec 2020 14:37:44 +0000 (+0000) Subject: [Minor] Lua_content: Fix a corner case when unpacking compound objects X-Git-Tag: 2.7~94 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0007aabece04ca4b86447a6abd259f4cef70731e;p=thirdparty%2Frspamd.git [Minor] Lua_content: Fix a corner case when unpacking compound objects --- diff --git a/lualib/lua_content/pdf.lua b/lualib/lua_content/pdf.lua index 11d5cab46e..4e199b8b6b 100644 --- a/lualib/lua_content/pdf.lua +++ b/lualib/lua_content/pdf.lua @@ -811,7 +811,7 @@ local function pdf_compound_object_unpack(_, uncompressed, pdf, task, first) span_len = (elts[i + 1][2] + first) - offset end - if span_len > 0 and offset + span_len < #uncompressed then + if span_len > 0 and offset + span_len <= #uncompressed then local obj = { major = obj_number, minor = 0, -- Implicit @@ -823,6 +823,9 @@ local function pdf_compound_object_unpack(_, uncompressed, pdf, task, first) if obj.dict then pdf.objects[#pdf.objects + 1] = obj end + else + lua_util.debugm(N, task, 'invalid span_len for compound object %s:%s; offset = %s, len = %s', + pair[1], pair[2], offset + span_len, #uncompressed) end end end