diff --git a/fpdfsdk/fpdf_dataavail_embeddertest.cpp b/fpdfsdk/fpdf_dataavail_embeddertest.cpp
index 011ef2c..05867de 100644
--- a/fpdfsdk/fpdf_dataavail_embeddertest.cpp
+++ b/fpdfsdk/fpdf_dataavail_embeddertest.cpp
@@ -17,6 +17,7 @@
 #include "testing/range_set.h"
 #include "testing/utils/file_util.h"
 #include "testing/utils/path_service.h"
+#include "third_party/base/numerics/safe_conversions.h"
 
 namespace {
 
@@ -44,7 +45,8 @@
     if (!file_contents_)
       return;
 
-    file_access_.m_FileLen = static_cast<unsigned long>(file_length_);
+    file_access_.m_FileLen =
+        pdfium::base::checked_cast<unsigned long>(file_length_);
     file_access_.m_GetBlock = SGetBlock;
     file_access_.m_Param = this;
 
@@ -105,8 +107,8 @@
   int GetBlockImpl(unsigned long pos, unsigned char* pBuf, unsigned long size) {
     if (!IsDataAvailImpl(pos, size))
       return 0;
-    const unsigned long end =
-        std::min(static_cast<unsigned long>(file_length_), pos + size);
+    const unsigned long end = std::min(
+        pdfium::base::checked_cast<unsigned long>(file_length_), pos + size);
     if (end <= pos)
       return 0;
     memcpy(pBuf, file_contents_.get() + pos, end - pos);
diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
index 5c040df..5aa9fc7 100644
--- a/testing/embedder_test.cpp
+++ b/testing/embedder_test.cpp
@@ -342,7 +342,8 @@
       pdfium::make_span(file_contents_.get(), file_length_));
 
   memset(&file_access_, 0, sizeof(file_access_));
-  file_access_.m_FileLen = static_cast<unsigned long>(file_length_);
+  file_access_.m_FileLen =
+      pdfium::base::checked_cast<unsigned long>(file_length_);
   file_access_.m_GetBlock = TestLoader::GetBlock;
   file_access_.m_Param = loader_.get();
 
diff --git a/testing/utils/file_util.cpp b/testing/utils/file_util.cpp
index 77da127..439f849 100644
--- a/testing/utils/file_util.cpp
+++ b/testing/utils/file_util.cpp
@@ -48,7 +48,7 @@
   if (!file_contents_)
     return;
 
-  m_FileLen = static_cast<unsigned long>(file_length_);
+  m_FileLen = pdfium::base::checked_cast<unsigned long>(file_length_);
   m_GetBlock = SGetBlock;
   m_Param = this;
 }
