diff --git a/fpdfsdk/cpdfsdk_actionhandler.cpp b/fpdfsdk/cpdfsdk_actionhandler.cpp
index 03c98d6..3ed76ff 100644
--- a/fpdfsdk/cpdfsdk_actionhandler.cpp
+++ b/fpdfsdk/cpdfsdk_actionhandler.cpp
@@ -152,7 +152,7 @@
                   pFormFillEnv);
   }
 
-  for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
+  for (size_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
     CPDF_Action subaction = action.GetSubAction(i);
     if (!ExecuteDocumentOpenAction(subaction, pFormFillEnv, visited))
       return false;
@@ -185,7 +185,7 @@
 
   DCHECK(pFormFillEnv);
 
-  for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
+  for (size_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
     CPDF_Action subaction = action.GetSubAction(i);
     if (!ExecuteDocumentPageAction(subaction, type, pFormFillEnv, visited))
       return false;
@@ -231,7 +231,7 @@
     DoAction_NoJs(action, type, pFormFillEnv);
   }
 
-  for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
+  for (size_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
     CPDF_Action subaction = action.GetSubAction(i);
     if (!ExecuteFieldAction(subaction, type, pFormFillEnv, pFormField, data,
                             visited))
diff --git a/fpdfsdk/fpdf_attachment.cpp b/fpdfsdk/fpdf_attachment.cpp
index d1fba0d..7369a10 100644
--- a/fpdfsdk/fpdf_attachment.cpp
+++ b/fpdfsdk/fpdf_attachment.cpp
@@ -26,6 +26,7 @@
 #include "core/fxcrt/fx_extension.h"
 #include "core/fxcrt/fx_memory_wrappers.h"
 #include "fpdfsdk/cpdfsdk_helpers.h"
+#include "third_party/base/numerics/safe_conversions.h"
 
 namespace {
 
@@ -57,7 +58,7 @@
     return 0;
 
   auto name_tree = CPDF_NameTree::Create(pDoc, "EmbeddedFiles");
-  return name_tree ? name_tree->GetCount() : 0;
+  return name_tree ? pdfium::base::checked_cast<int>(name_tree->GetCount()) : 0;
 }
 
 FPDF_EXPORT FPDF_ATTACHMENT FPDF_CALLCONV
