From e3827f8e0899377c0177faa1f106ec2f3f8a9e3e Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Fri, 18 Jun 2021 00:10:35 -0400 Subject: [PATCH] Improve the MemberOutOfBounds error --- src/valid/type.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/valid/type.rs b/src/valid/type.rs index 8b5e108eff..e9f888a63b 100644 --- a/src/valid/type.rs +++ b/src/valid/type.rs @@ -57,9 +57,14 @@ pub enum TypeError { #[error("Structure member[{index}] at {offset} overlaps the previous member")] MemberOverlap { index: u32, offset: u32 }, #[error( - "Structure member[{index}] at {offset} and size {size} crosses the structure boundary" + "Structure member[{index}] at {offset} and size {size} crosses the structure boundary of size {span}" )] - MemberOutOfBounds { index: u32, offset: u32, size: u32 }, + MemberOutOfBounds { + index: u32, + offset: u32, + size: u32, + span: u32, + }, #[error("The composite type contains a top-level structure")] NestedTopLevel, } @@ -359,6 +364,7 @@ impl super::Validator { index: i as u32, offset: member.offset, size: base_size, + span, }); }