OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "third_party/mojo/src/mojo/public/cpp/bindings/lib/bounds_checker.h" | 5 #include "mojo/public/cpp/bindings/lib/bounds_checker.h" |
6 | 6 |
7 #include "third_party/mojo/src/mojo/public/cpp/bindings/lib/bindings_serializati
on.h" | 7 #include "mojo/public/cpp/bindings/lib/bindings_serialization.h" |
8 #include "third_party/mojo/src/mojo/public/cpp/environment/logging.h" | 8 #include "mojo/public/cpp/environment/logging.h" |
9 #include "third_party/mojo/src/mojo/public/cpp/system/handle.h" | 9 #include "mojo/public/cpp/system/handle.h" |
10 | 10 |
11 namespace mojo { | 11 namespace mojo { |
12 namespace internal { | 12 namespace internal { |
13 | 13 |
14 BoundsChecker::BoundsChecker(const void* data, | 14 BoundsChecker::BoundsChecker(const void* data, |
15 uint32_t data_num_bytes, | 15 uint32_t data_num_bytes, |
16 size_t num_handles) | 16 size_t num_handles) |
17 : data_begin_(reinterpret_cast<uintptr_t>(data)), | 17 : data_begin_(reinterpret_cast<uintptr_t>(data)), |
18 data_end_(data_begin_ + data_num_bytes), | 18 data_end_(data_begin_ + data_num_bytes), |
19 handle_begin_(0), | 19 handle_begin_(0), |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 68 |
69 return InternalIsValidRange(begin, end); | 69 return InternalIsValidRange(begin, end); |
70 } | 70 } |
71 | 71 |
72 bool BoundsChecker::InternalIsValidRange(uintptr_t begin, uintptr_t end) const { | 72 bool BoundsChecker::InternalIsValidRange(uintptr_t begin, uintptr_t end) const { |
73 return end > begin && begin >= data_begin_ && end <= data_end_; | 73 return end > begin && begin >= data_begin_ && end <= data_end_; |
74 } | 74 } |
75 | 75 |
76 } // namespace internal | 76 } // namespace internal |
77 } // namespace mojo | 77 } // namespace mojo |
OLD | NEW |