Fix for a bug where no valid codepoints are recognized in certain PDFs.

Bug:chromium:909762

Change-Id: Idd43d28130bd58292c085d9507f9e7ed5ca6c8be
Reviewed-on: https://pdfium-review.googlesource.com/c/45872
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/font/cpdf_cmapparser.cpp b/core/fpdfapi/font/cpdf_cmapparser.cpp
index fca1c92..4707022 100644
--- a/core/fpdfapi/font/cpdf_cmapparser.cpp
+++ b/core/fpdfapi/font/cpdf_cmapparser.cpp
@@ -110,9 +110,11 @@
   } else if (m_Status == 7) {
     if (word == "endcodespacerange") {
       const auto& code_ranges = m_pCMap->GetMixedFourByteLeadingRanges();
-      size_t nSegs = code_ranges.size();
+      size_t nSegs = code_ranges.size() + m_PendingRanges.size();
       if (nSegs == 1) {
-        m_pCMap->SetCodingScheme((code_ranges[0].m_CharSize == 2)
+        const auto& first_range =
+            code_ranges.size() > 0 ? code_ranges[0] : m_PendingRanges[0];
+        m_pCMap->SetCodingScheme((first_range.m_CharSize == 2)
                                      ? CPDF_CMap::TwoBytes
                                      : CPDF_CMap::OneByte);
       } else if (nSegs > 1) {