summaryrefslogtreecommitdiff
path: root/core/src/fxcrt
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-02-04 10:48:28 -0800
committerTom Sepez <tsepez@chromium.org>2015-02-04 10:48:28 -0800
commit53476d6956781ceb252e1ae5e01f83a48bcb4908 (patch)
tree9310dbde273217a0de7e5165c585b081b046bf1c /core/src/fxcrt
parentd2501393eb0c18b5e73506658cd8e8ae0c4ea456 (diff)
downloadpdfium-53476d6956781ceb252e1ae5e01f83a48bcb4908.tar.xz
Merge to XFA: Prevent base::CheckedNumeric from leaking outside of pdfium.
Original review URL: https://codereview.chromium.org/896023003 TBR=jam@chromium.org Review URL: https://codereview.chromium.org/897023005
Diffstat (limited to 'core/src/fxcrt')
-rw-r--r--core/src/fxcrt/extension.h2
-rw-r--r--core/src/fxcrt/fx_safe_types.h17
2 files changed, 19 insertions, 0 deletions
diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h
index 05aad67e40..bf60292a4d 100644
--- a/core/src/fxcrt/extension.h
+++ b/core/src/fxcrt/extension.h
@@ -7,6 +7,8 @@
#ifndef _FXCRT_EXTENSION_IMP_
#define _FXCRT_EXTENSION_IMP_
+#include "fx_safe_types.h"
+
class IFXCRT_FileAccess
{
public:
diff --git a/core/src/fxcrt/fx_safe_types.h b/core/src/fxcrt/fx_safe_types.h
new file mode 100644
index 0000000000..794e1f19dc
--- /dev/null
+++ b/core/src/fxcrt/fx_safe_types.h
@@ -0,0 +1,17 @@
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FX_SAFE_TYPES_H_
+#define FX_SAFE_TYPES_H_
+
+#include <stdlib.h> // For size_t.
+
+#include "../../../third_party/numerics/safe_math.h"
+
+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;
+typedef base::CheckedNumeric<FX_FILESIZE> FX_SAFE_FILESIZE;
+
+#endif // FX_SAFE_TYPES_H_