From f3e3af606958855c9345dd3aba13e75f0b879193 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 3 Mar 2016 10:12:47 -0800 Subject: Fix O(n^2) behaviour in parser. Despite what the c++11 spec says, std::list::size() is still O(n), not O(1). R=dsinclair@chromium.org, ochang@chromium.org Review URL: https://codereview.chromium.org/1763443003 . --- core/src/fpdfapi/fpdf_page/fpdf_page.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'core/src/fpdfapi') diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp index 301fca8969..77707624d2 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp @@ -462,13 +462,7 @@ void CPDF_FormObject::CalcBoundingBox() { CPDF_PageObject* CPDF_PageObjectList::GetPageObjectByIndex(int index) { if (index < 0 || index >= pdfium::CollectionSize(*this)) return nullptr; - int current = 0; - for (const auto& pObj : *this) { - if (index == current) - return pObj.get(); - ++current; - } - return nullptr; + return (*this)[index].get(); } CPDF_PageObjectHolder::CPDF_PageObjectHolder() -- cgit v1.2.3