commit 0007aab: [Minor] Lua_content: Fix a corner case when unpacking compound objects

Vsevolod Stakhov vsevolod at highsecure.ru
Tue Dec 1 14:42:06 UTC 2020


Author: Vsevolod Stakhov
Date: 2020-12-01 14:37:44 +0000
URL: https://github.com/rspamd/rspamd/commit/0007aabece04ca4b86447a6abd259f4cef70731e (HEAD -> master)

[Minor] Lua_content: Fix a corner case when unpacking compound objects

---
 lualib/lua_content/pdf.lua | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lualib/lua_content/pdf.lua b/lualib/lua_content/pdf.lua
index 11d5cab46..4e199b8b6 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


More information about the Commits mailing list