From 2a8e136b7a5b81149c05847a5561c75f34ba50fc Mon Sep 17 00:00:00 2001 From: Mark Benvenuto Date: Tue, 22 Nov 2022 15:54:10 -0500 Subject: SERVER-71294 Coverity analysis defect 134121: Bad bit shift operation --- src/mongo/crypto/fle_crypto.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mongo/crypto/fle_crypto.cpp b/src/mongo/crypto/fle_crypto.cpp index 44ca3238ce7..9278ed97c5c 100644 --- a/src/mongo/crypto/fle_crypto.cpp +++ b/src/mongo/crypto/fle_crypto.cpp @@ -3702,7 +3702,9 @@ OSTType_Decimal128 getTypeInfoDecimal128(Decimal128 value, bits_range = bits_range_dec.toIntExact(Decimal128::kRoundTowardPositive); - if (bits_range < 128) { + // bits_range is always >= 0 but coverity cannot be sure since it does not + // understand Decimal128 math so we add a check for positive integers. + if (bits_range >= 0 && bits_range < 128) { use_precision_mode = true; } } -- cgit v1.2.1