From df449c0eb4b1fb5583da71265faf50a9a520be3c Mon Sep 17 00:00:00 2001 From: Jun Fang Date: Thu, 7 Aug 2014 10:08:19 -0700 Subject: Change '>=' back to '>' in extension.h due to bad fix BUG=400662 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/445303002 --- core/src/fxcrt/extension.h | 8 ++++---- fpdfsdk/src/fpdfview.cpp | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h index 6221d14fc7..bb2a79b9f9 100644 --- a/core/src/fxcrt/extension.h +++ b/core/src/fxcrt/extension.h @@ -73,7 +73,7 @@ public: 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 @@ public: 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 @@ public: } 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 @@ public: 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 af24e71b94..23d44935b5 100644 --- a/fpdfsdk/src/fpdfview.cpp +++ b/fpdfsdk/src/fpdfview.cpp @@ -299,14 +299,16 @@ public: 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(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(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; -- cgit v1.2.3