From 0007aabece04ca4b86447a6abd259f4cef70731e Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 1 Dec 2020 14:37:44 +0000 Subject: [PATCH] [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 -- 2.39.5