summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpencer Jackson <spencer.jackson@mongodb.com>2016-10-26 14:52:06 -0400
committerSpencer Jackson <spencer.jackson@mongodb.com>2018-03-29 14:47:03 -0400
commit88d1d469f976f1965a98dec69316f7a08157a374 (patch)
tree0544730772a807eb13399e79cf0feb7b5840c5e3
parent70faecde6a12bab13da9cf7abc8721ed619b52fa (diff)
downloadmongo-88d1d469f976f1965a98dec69316f7a08157a374.tar.gz
SERVER-26790: validateElementInfo should verify OIDs can be skipped
(cherry picked from commit 9f8b867c5001630bb6a9824a1c10741641ca93ed)
-rw-r--r--src/mongo/bson/bson_validate.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mongo/bson/bson_validate.cpp b/src/mongo/bson/bson_validate.cpp
index 9ef873eb47a..cb850d07143 100644
--- a/src/mongo/bson/bson_validate.cpp
+++ b/src/mongo/bson/bson_validate.cpp
@@ -237,7 +237,9 @@ Status validateElementInfo(Buffer* buffer, ValidationState::State* nextState, BS
status = buffer->readUTF8String(NULL);
if (!status.isOK())
return status;
- buffer->skip(OID::kOIDSize);
+ if (!buffer->skip(OID::kOIDSize)) {
+ return makeError("invalid bson length", idElem);
+ }
return Status::OK();
case RegEx: