From d9ae41b0574f16298c019c64665f48a287d37a2d Mon Sep 17 00:00:00 2001 From: m-holger Date: Fri, 9 May 2025 13:12:53 +0100 Subject: [PATCH] Fix /DecodeParms handling logic inconsistency --- libqpdf/QPDF_Stream.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc index 2ffbd94..e07e36c 100644 --- a/libqpdf/QPDF_Stream.cc +++ b/libqpdf/QPDF_Stream.cc @@ -399,13 +399,12 @@ Stream::filterable( for (auto& item: decode_array) { decode_parms.emplace_back(item); } - } - - // Ignore /DecodeParms entirely if /Filters is empty. At least one case of a file whose - // /DecodeParms was [ << >> ] when /Filters was empty has been seen in the wild. - if ((filters.size() != 0) && (decode_parms.size() != filters.size())) { - warn("stream /DecodeParms length is inconsistent with filters"); - return false; + // Ignore /DecodeParms entirely if /Filters is empty. At least one case of a file whose + // /DecodeParms was [ << >> ] when /Filters was empty has been seen in the wild. + if (!filters.empty() && decode_parms.size() != filters.size()) { + warn("stream /DecodeParms length is inconsistent with filters"); + return false; + } } for (size_t i = 0; i < filters.size(); ++i) { -- libgit2 0.21.4