diff options
author | Chris Palmer <palmer@google.com> | 2014-07-31 12:08:56 -0700 |
---|---|---|
committer | Bo Xu <bo_xu@foxitsoftware.com> | 2014-08-11 14:51:52 -0700 |
commit | 5a7eb44f1bcfe843f7810acf60fa6c59bd13ded2 (patch) | |
tree | 721a42ef7f98c92672fbedf9b82a590e3e9a2c88 | |
parent | b1a807fddac0047740e3ebefd24de22d3a390266 (diff) | |
download | pdfium-5a7eb44f1bcfe843f7810acf60fa6c59bd13ded2.tar.xz |
Correct the names of the FX_SAFE_* typedefs.
R=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/417263008
-rw-r--r-- | core/include/fxcrt/fx_system.h | 6 | ||||
-rw-r--r-- | core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp | 9 | ||||
-rw-r--r-- | core/src/fxcrt/extension.h | 6 |
3 files changed, 15 insertions, 6 deletions
diff --git a/core/include/fxcrt/fx_system.h b/core/include/fxcrt/fx_system.h index 391380304c..6d659e2c10 100644 --- a/core/include/fxcrt/fx_system.h +++ b/core/include/fxcrt/fx_system.h @@ -277,9 +277,9 @@ int FXSYS_round(FX_FLOAT f); }; #include "../../../third_party/numerics/safe_math.h" -typedef base::CheckedNumeric<FX_DWORD> FX_SAFE_DWORD; -typedef base::CheckedNumeric<FX_INT32> FX_SAFE_INT; -typedef base::CheckedNumeric<size_t> FX_SAFE_SIZET; +typedef base::CheckedNumeric<FX_DWORD> FX_SAFE_DWORD; +typedef base::CheckedNumeric<FX_INT32> FX_SAFE_INT32; +typedef base::CheckedNumeric<size_t> FX_SAFE_SIZE_T; #if defined(__clang__) || _MSC_VER >= 1700 #define FX_FINAL final #elif defined(__GNUC__) && __cplusplus >= 201103 && \ diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp index ae96148345..d2172bf1b8 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp @@ -1203,6 +1203,15 @@ void CPDF_DIBSource::DownSampleScanline(int line, FX_LPBYTE dest_scan, int dest_ FXSYS_memset32(dest_scan, 0xff, dest_Bpp * clip_width); return; } + + FX_SAFE_INT32 max_src_x = clip_left; + max_src_x += clip_width - 1; + max_src_x *= src_width; + max_src_x /= dest_width; + if (!max_src_x.IsValid()) { + return; + } + CFX_FixedBufGrow<FX_BYTE, 128> temp(orig_Bpp); if (bpc * m_nComponents == 1) { FX_DWORD set_argb = (FX_DWORD) - 1, reset_argb = 0; diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h index d5659e5d29..598590e3e4 100644 --- a/core/src/fxcrt/extension.h +++ b/core/src/fxcrt/extension.h @@ -238,7 +238,7 @@ public: offset = safeOffset.ValueOrDie(); - FX_SAFE_SIZET newPos = size; + FX_SAFE_SIZE_T newPos = size; newPos += offset; if (!newPos.IsValid() || newPos.ValueOrDefault(0) == 0 || newPos.ValueOrDie() >= m_nCurSize) { return FALSE; @@ -289,7 +289,7 @@ public: offset += (FX_FILESIZE)m_nOffset; } if (m_dwFlags & FX_MEMSTREAM_Consecutive) { - FX_SAFE_SIZET newPos = size; + FX_SAFE_SIZE_T newPos = size; newPos += offset; if (!newPos.IsValid()) return FALSE; @@ -316,7 +316,7 @@ public: return TRUE; } - FX_SAFE_SIZET newPos = size; + FX_SAFE_SIZE_T newPos = size; newPos += offset; if (!newPos.IsValid()) { return FALSE; |