diff options
author | Josef Ahmad <josef.ahmad@mongodb.com> | 2021-10-06 06:29:27 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-06 06:57:49 +0000 |
commit | a76e142d4a3b18cba31183efd2b3d306b909b2ce (patch) | |
tree | 2bc23948a1276ac17697864e4204cea5a74bb376 /src/mongo/db/storage/key_string.cpp | |
parent | ed1a1de3bbf155f9e14ad536f47771b9c8ba2561 (diff) | |
download | mongo-a76e142d4a3b18cba31183efd2b3d306b909b2ce.tar.gz |
SERVER-60170 Keystring: fix theoretical issue decoding RID size
Diffstat (limited to 'src/mongo/db/storage/key_string.cpp')
-rw-r--r-- | src/mongo/db/storage/key_string.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mongo/db/storage/key_string.cpp b/src/mongo/db/storage/key_string.cpp index e9e6321d0be..bdefa0c6b24 100644 --- a/src/mongo/db/storage/key_string.cpp +++ b/src/mongo/db/storage/key_string.cpp @@ -2555,9 +2555,9 @@ size_t sizeWithoutRecordIdStrAtEnd(const void* bufferRaw, size_t bufSize) { const size_t numSegments = sizeByteId + 1; for (; sizeByteId > 0; sizeByteId--) { - ridSize += sizes[sizeByteId] << ((numSegments - sizeByteId - 1) * 7); + ridSize += static_cast<size_t>(sizes[sizeByteId]) << ((numSegments - sizeByteId - 1) * 7); } - ridSize += sizes[sizeByteId] << ((numSegments - sizeByteId - 1) * 7); + ridSize += static_cast<size_t>(sizes[sizeByteId]) << ((numSegments - sizeByteId - 1) * 7); invariant(bufSize >= ridSize + numSegments); return bufSize - ridSize - numSegments; @@ -2603,9 +2603,9 @@ RecordId decodeRecordIdStrAtEnd(const void* bufferRaw, size_t bufSize) { const size_t numSegments = sizeByteId + 1; for (; sizeByteId > 0; sizeByteId--) { - ridSize += sizes[sizeByteId] << ((numSegments - sizeByteId - 1) * 7); + ridSize += static_cast<size_t>(sizes[sizeByteId]) << ((numSegments - sizeByteId - 1) * 7); } - ridSize += sizes[sizeByteId] << ((numSegments - sizeByteId - 1) * 7); + ridSize += static_cast<size_t>(sizes[sizeByteId]) << ((numSegments - sizeByteId - 1) * 7); invariant(bufSize >= ridSize + numSegments); |