diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h
index 6221d14..bb2a79b 100644
--- a/core/src/fxcrt/extension.h
+++ b/core/src/fxcrt/extension.h
@@ -73,7 +73,7 @@
         FX_SAFE_FILESIZE pos = size;
         pos += offset;
 
-        if (!pos.IsValid() || pos.ValueOrDie() >= m_pFile->GetSize()) {
+        if (!pos.IsValid() || pos.ValueOrDie() > m_pFile->GetSize()) {
             return FALSE;
         }
 
@@ -95,7 +95,7 @@
 
         if (m_bUseRange) {
             pos += m_nOffset;
-            if (!pos.IsValid() || pos.ValueOrDie() >= (size_t)GetSize()) {
+            if (!pos.IsValid() || pos.ValueOrDie() > (size_t)GetSize()) {
                 return FALSE;
             }
         }
@@ -200,7 +200,7 @@
         }
         FX_SAFE_FILESIZE range = size;
         range += offset;
-        if (!range.IsValid() || range.ValueOrDie() >= m_nCurSize) {
+        if (!range.IsValid() || range.ValueOrDie() > m_nCurSize) {
             return FALSE;
         }
         
@@ -232,7 +232,7 @@
 
         FX_SAFE_SIZE_T newPos = size;
         newPos += offset;
-        if (!newPos.IsValid() || newPos.ValueOrDefault(0) == 0 || newPos.ValueOrDie() >= m_nCurSize) {
+        if (!newPos.IsValid() || newPos.ValueOrDefault(0) == 0 || newPos.ValueOrDie() > m_nCurSize) {
             return FALSE;
         }
 
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
index af24e71..23d4493 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -299,14 +299,16 @@
 	virtual FX_FILESIZE		GetSize() {return m_size;}
 	virtual FX_BOOL			ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) 
 	{
-        if (offset < 0) {
-            return FALSE;
-        }
-        FX_SAFE_FILESIZE newPos = base::checked_cast<FX_FILESIZE, size_t>(size);
-        newPos += offset;
-        if (!newPos.IsValid() || newPos.ValueOrDie() > (FX_DWORD)m_size) return FALSE;
-		FXSYS_memcpy(buffer, m_pBuf+offset, size);
-		return TRUE;
+            if (offset < 0) {
+                return FALSE;
+            }
+            FX_SAFE_FILESIZE newPos = base::checked_cast<FX_FILESIZE, size_t>(size);
+            newPos += offset;
+            if (!newPos.IsValid() || newPos.ValueOrDie() > (FX_DWORD)m_size) {
+                return FALSE;
+            }
+	    FXSYS_memcpy(buffer, m_pBuf+offset, size);
+	    return TRUE;
 	}
 private:
 	FX_BYTE* m_pBuf;
