diff options
Diffstat (limited to 'mojo')
-rw-r--r-- | mojo/public/cpp/bindings/lib/bindings_serialization.cc | 2 | ||||
-rw-r--r-- | mojo/public/cpp/bindings/lib/bindings_serialization.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/mojo/public/cpp/bindings/lib/bindings_serialization.cc b/mojo/public/cpp/bindings/lib/bindings_serialization.cc index d341b21..d5f7785 100644 --- a/mojo/public/cpp/bindings/lib/bindings_serialization.cc +++ b/mojo/public/cpp/bindings/lib/bindings_serialization.cc @@ -84,6 +84,8 @@ bool ValidateStructHeader(const void* data, uint32_t min_num_bytes, uint32_t min_num_fields, BoundsChecker* bounds_checker) { + assert(min_num_bytes >= sizeof(StructHeader)); + if (!IsAligned(data)) { ReportValidationError(VALIDATION_ERROR_MISALIGNED_OBJECT); return false; diff --git a/mojo/public/cpp/bindings/lib/bindings_serialization.h b/mojo/public/cpp/bindings/lib/bindings_serialization.h index 9cd2f13..6bebf90 100644 --- a/mojo/public/cpp/bindings/lib/bindings_serialization.h +++ b/mojo/public/cpp/bindings/lib/bindings_serialization.h @@ -71,6 +71,7 @@ inline void Decode(T* obj, std::vector<Handle>* handles) { // If returns true, this function also claims the memory range of the size // specified in the struct header, starting from |data|. +// Note: |min_num_bytes| must be no less than sizeof(StructHeader). bool ValidateStructHeader(const void* data, uint32_t min_num_bytes, uint32_t min_num_fields, |