Convert int* references to FX_STRSIZE

Through out the code base there are numerous places where variables
are declared using a signed integer type when interacting with the
string classes, since they assume that FX_STRSIZE is 'int'. As part of
changing the underling type of FX_STRSIZE to be unsigned, these
locations are being changed to use FX_STRSIZE. This is necessary as
part of converting the type, but has been broken off into a separate CL,
since it should be low risk.

Some related cleanups that are low risk are included as part of
this CL.

BUG=pdfium:828

Change-Id: Ifaae54ad195ccde0fe8672f71271d29a6ebd65fd
Reviewed-on: https://pdfium-review.googlesource.com/12210
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/fpdfsdk/fpdfppo.cpp b/fpdfsdk/fpdfppo.cpp
index 861b15c..d08de02 100644
--- a/fpdfsdk/fpdfppo.cpp
+++ b/fpdfsdk/fpdfppo.cpp
@@ -77,9 +77,9 @@
     return true;
 
   rangstring.Remove(' ');
-  int nLength = rangstring.GetLength();
+  FX_STRSIZE nLength = rangstring.GetLength();
   CFX_ByteString cbCompareString("0123456789-,");
-  for (int i = 0; i < nLength; ++i) {
+  for (FX_STRSIZE i = 0; i < nLength; ++i) {
     if (!cbCompareString.Contains(rangstring[i]))
       return false;
   }
@@ -94,26 +94,29 @@
     cbMidRange = rangstring.Mid(nStringFrom, nStringTo.value() - nStringFrom);
     auto nMid = cbMidRange.Find('-');
     if (!nMid.has_value()) {
-      long lPageNum = atol(cbMidRange.c_str());
-      if (lPageNum <= 0 || lPageNum > nCount)
+      uint16_t pageNum =
+          pdfium::base::checked_cast<uint16_t>(atoi(cbMidRange.c_str()));
+      if (pageNum <= 0 || pageNum > nCount)
         return false;
-      pageArray->push_back((uint16_t)lPageNum);
+      pageArray->push_back(pageNum);
     } else {
-      int nStartPageNum = atol(cbMidRange.Left(nMid.value()).c_str());
+      uint16_t nStartPageNum = pdfium::base::checked_cast<uint16_t>(
+          atoi(cbMidRange.Left(nMid.value()).c_str()));
       if (nStartPageNum == 0)
         return false;
 
       nMid = nMid.value() + 1;
-      int nEnd = cbMidRange.GetLength() - nMid.value();
+      FX_STRSIZE nEnd = cbMidRange.GetLength() - nMid.value();
       if (nEnd == 0)
         return false;
 
-      int nEndPageNum = atol(cbMidRange.Mid(nMid.value(), nEnd).c_str());
+      uint16_t nEndPageNum = pdfium::base::checked_cast<uint16_t>(
+          atoi(cbMidRange.Mid(nMid.value(), nEnd).c_str()));
       if (nStartPageNum < 0 || nStartPageNum > nEndPageNum ||
           nEndPageNum > nCount) {
         return false;
       }
-      for (int i = nStartPageNum; i <= nEndPageNum; ++i) {
+      for (uint16_t i = nStartPageNum; i <= nEndPageNum; ++i) {
         pageArray->push_back(i);
       }
     }