diff options
author | Benety Goh <benety@mongodb.com> | 2021-06-10 16:39:58 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-06-10 21:27:16 +0000 |
commit | 6ebb5f9dfb1c3f6a2be267cd533c54fdfefbc993 (patch) | |
tree | 5c6bec95331ae0eb92df9c8482bfbc6b88a4a2d2 | |
parent | 256ee9bcd971b86bb2b26c7da3993540697c00ed (diff) | |
download | mongo-6ebb5f9dfb1c3f6a2be267cd533c54fdfefbc993.tar.gz |
SERVER-57350 fix ShardKeyPattern::parseShardKeyPattern() to handle int values in key patterns that are out of bounds
-rw-r--r-- | src/mongo/s/shard_key_pattern.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mongo/s/shard_key_pattern.cpp b/src/mongo/s/shard_key_pattern.cpp index d3ea4fe8ed8..27ddb80e6ad 100644 --- a/src/mongo/s/shard_key_pattern.cpp +++ b/src/mongo/s/shard_key_pattern.cpp @@ -99,7 +99,7 @@ std::vector<std::unique_ptr<FieldRef>> parseShardKeyPattern(const BSONObj& keyPa << " can contain at most one 'hashed' field, and/or multiple " "numerical fields set to a value of 1. Failed to parse field " << patternEl.fieldNameStringData(), - (patternEl.isNumber() && patternEl.numberInt() == 1) || + (patternEl.isNumber() && patternEl.safeNumberInt() == 1) || (isHashedPattern && numHashedFields == 1)); parsedPaths.emplace_back(std::move(newFieldRef)); } |