summaryrefslogtreecommitdiffstats
path: root/mojo
diff options
context:
space:
mode:
Diffstat (limited to 'mojo')
-rw-r--r--mojo/public/cpp/bindings/lib/bindings_serialization.cc2
-rw-r--r--mojo/public/cpp/bindings/lib/bindings_serialization.h1
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,