Index: mojo/public/cpp/bindings/lib/validation_context.cc |
diff --git a/mojo/public/cpp/bindings/lib/bounds_checker.cc b/mojo/public/cpp/bindings/lib/validation_context.cc |
similarity index 64% |
rename from mojo/public/cpp/bindings/lib/bounds_checker.cc |
rename to mojo/public/cpp/bindings/lib/validation_context.cc |
index 49416d1116ce4724b69678cd4481b3f8a45d668d..e2688c43f546fa874bd0cad6c81298c3d9eb5f61 100644 |
--- a/mojo/public/cpp/bindings/lib/bounds_checker.cc |
+++ b/mojo/public/cpp/bindings/lib/validation_context.cc |
@@ -2,22 +2,27 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "mojo/public/cpp/bindings/lib/bounds_checker.h" |
+#include "mojo/public/cpp/bindings/lib/validation_context.h" |
#include <stddef.h> |
#include <stdint.h> |
#include "base/logging.h" |
#include "mojo/public/cpp/bindings/lib/serialization_util.h" |
+#include "mojo/public/cpp/bindings/message.h" |
#include "mojo/public/cpp/system/handle.h" |
namespace mojo { |
namespace internal { |
-BoundsChecker::BoundsChecker(const void* data, |
- uint32_t data_num_bytes, |
- size_t num_handles) |
- : data_begin_(reinterpret_cast<uintptr_t>(data)), |
+ValidationContext::ValidationContext(const void* data, |
+ uint32_t data_num_bytes, |
+ size_t num_handles, |
+ Message* message, |
+ const base::StringPiece& description) |
+ : message_(message), |
+ description_(description), |
+ data_begin_(reinterpret_cast<uintptr_t>(data)), |
data_end_(data_begin_ + data_num_bytes), |
handle_begin_(0), |
handle_end_(static_cast<uint32_t>(num_handles)) { |
@@ -36,10 +41,10 @@ BoundsChecker::BoundsChecker(const void* data, |
} |
} |
-BoundsChecker::~BoundsChecker() { |
+ValidationContext::~ValidationContext() { |
} |
-bool BoundsChecker::ClaimMemory(const void* position, uint32_t num_bytes) { |
+bool ValidationContext::ClaimMemory(const void* position, uint32_t num_bytes) { |
uintptr_t begin = reinterpret_cast<uintptr_t>(position); |
uintptr_t end = begin + num_bytes; |
@@ -50,7 +55,7 @@ bool BoundsChecker::ClaimMemory(const void* position, uint32_t num_bytes) { |
return true; |
} |
-bool BoundsChecker::ClaimHandle(const Handle_Data& encoded_handle) { |
+bool ValidationContext::ClaimHandle(const Handle_Data& encoded_handle) { |
uint32_t index = encoded_handle.value; |
if (index == kEncodedInvalidHandleValue) |
return true; |
@@ -64,15 +69,16 @@ bool BoundsChecker::ClaimHandle(const Handle_Data& encoded_handle) { |
return true; |
} |
-bool BoundsChecker::IsValidRange(const void* position, |
- uint32_t num_bytes) const { |
+bool ValidationContext::IsValidRange(const void* position, |
+ uint32_t num_bytes) const { |
uintptr_t begin = reinterpret_cast<uintptr_t>(position); |
uintptr_t end = begin + num_bytes; |
return InternalIsValidRange(begin, end); |
} |
-bool BoundsChecker::InternalIsValidRange(uintptr_t begin, uintptr_t end) const { |
+bool ValidationContext::InternalIsValidRange(uintptr_t begin, |
+ uintptr_t end) const { |
return end > begin && begin >= data_begin_ && end <= data_end_; |
} |