Prevent an out of bound access in CXFA_TextLayout::DoLayout().

BUG=chromium:925788

Change-Id: I46b910001f6d789e8dca48fdb18d1f86c9bd7592
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/49496
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/xfa/fxfa/cxfa_textlayout.cpp b/xfa/fxfa/cxfa_textlayout.cpp
index a0e9758..cf565a6 100644
--- a/xfa/fxfa/cxfa_textlayout.cpp
+++ b/xfa/fxfa/cxfa_textlayout.cpp
@@ -352,9 +352,9 @@
       szLineIndex = m_Blocks[szBlockIndex].szIndex;
     else
       szLineIndex = GetNextIndexFromLastBlockData();
-    if (!m_pLoader->blockHeights.empty()) {
-      for (size_t i = 0; i < szBlockIndex; ++i)
-        fLinePos -= m_pLoader->blockHeights[i].fHeight;
+    for (size_t i = 0;
+         i < std::min(szBlockIndex, m_pLoader->blockHeights.size()); ++i) {
+      fLinePos -= m_pLoader->blockHeights[i].fHeight;
     }
   }