aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/compactbinaryutil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zencore/compactbinaryutil.cpp')
-rw-r--r--src/zencore/compactbinaryutil.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/zencore/compactbinaryutil.cpp b/src/zencore/compactbinaryutil.cpp
index c8cde21c3..074bdaffd 100644
--- a/src/zencore/compactbinaryutil.cpp
+++ b/src/zencore/compactbinaryutil.cpp
@@ -14,7 +14,13 @@ ValidateAndReadCompactBinaryObject(const SharedBuffer&& Payload, CbValidateError
{
if (OutError = ValidateCompactBinary(Payload.GetView(), CbValidateMode::Default); OutError == CbValidateError::None)
{
- return CbObject(std::move(Payload));
+ CbObject Object(std::move(Payload));
+ if (Object.GetView().GetSize() != Payload.GetSize())
+ {
+ OutError |= CbValidateError::OutOfBounds;
+ return {};
+ }
+ return Object;
}
}
return CbObject();