From f3209c1fe0fdea79bf2f4e2b6f77ea4ef5db1ad2 Mon Sep 17 00:00:00 2001 From: jinming_wang Date: Mon, 11 Apr 2016 10:43:19 -0700 Subject: fix infinite loops when rebuild the cross reference table BUG=chromium:401189 Review URL: https://codereview.chromium.org/1871373002 --- core/fpdfapi/fpdf_parser/cpdf_parser.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp index 97b03f046c..f1816f2028 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp @@ -931,9 +931,9 @@ FX_BOOL CPDF_Parser::RebuildCrossRef() { } pos += size; - // If the position has not changed at all in a loop iteration, then break - // out to prevent infinite looping. - if (pos == saved_pos) + // If the position has not changed at all or went backwards in a loop + // iteration, then break out to prevent infinite looping. + if (pos <= saved_pos) break; } -- cgit v1.2.3