[SERVER-50004] Coverity analysis defect 114295: Bad bit shift operation Created: 29/Jul/20  Updated: 27/Oct/23  Resolved: 03/Dec/20

Status: Closed
Project: Core Server
Component/s: Index Maintenance
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Coverity Collector User Assignee: Gregory Noma
Resolution: Works as Designed Votes: 0
Labels: coverity
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Sprint: Execution Team 2020-12-14
Participants:

 Description   

Bad bit shift operation

The operation may have an undefined behavior or yield an unexpected result. A bit shift operation has a shift amount which is too large or has a negative value.
/src/mongo/db/storage/key_string.cpp:693: BAD_SHIFT 114295 Function call "mongo::countLeadingZeros64(integerPart << 1)" may return 64.
/src/mongo/db/storage/key_string.cpp:693: BAD_SHIFT 114295 Assigning: "fractionalBytes" = "mongo::countLeadingZeros64(integerPart << 1) / 8". The value of "fractionalBytes" is now 8.
/src/mongo/db/storage/key_string.cpp:707: BAD_SHIFT 114295 In expression "integerPart + 1UL << fractionalBytes * 8UL", left shifting by more than 63 bits has undefined behavior. The shift amount, "fractionalBytes * 8UL", is 64.


Generated at Thu Feb 08 05:21:27 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.