diff options
Diffstat (limited to 'src/mongo/bson/bson_validate.cpp')
-rw-r--r-- | src/mongo/bson/bson_validate.cpp | 4 |
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: |