[SERVER-20175] Coverity analysis defect 57187: Division or modulo by float zero Created: 28/Aug/15  Updated: 28/Aug/15  Resolved: 28/Aug/15

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Coverity Collector User Assignee: J Rassi
Resolution: Duplicate Votes: 0
Labels: coverity
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-17916 Check token count in FTS Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 Description   

An expression which may be zero is used as a divisor in floating-point arithmetic.

Defect 57187 (STATIC_C)
Checker DIVIDE_BY_ZERO (subcategory float_divisor)
File: /src/mongo/db/fts/fts_spec_legacy.cpp
Function mongo::fts::FTSSpec::_scoreStringV1(const mongo::fts::FTSSpec::Tools &, mongo::StringData, std::unordered_map<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, double, std::hash<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char>>, double>>> *, double) const
/src/mongo/db/fts/fts_spec_legacy.cpp, line: 73
Assigning: "numTokens" = "0U".

        unsigned numTokens = 0;

/src/mongo/db/fts/fts_spec_legacy.cpp, line: 107
In expression "0.5 * data.count / numTokens", division by expression "numTokens" which may be zero has undefined behavior.

            double coeff = (0.5 * data.count / numTokens) + 0.5;



 Comments   
Comment by J Rassi [ 28/Aug/15 ]

Closing as a dup of SERVER-17916.

Generated at Thu Feb 08 03:53:24 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.