The object representation for floating-point values is implementation defined. However, an implementation that defines the __STDC_IEC_559__
macro shall conform to the IEC 60559 floating-point standard and uses what is frequently referred to as IEEE 754 floating-point arithmetic [ISO/IEC 9899:20112024]. The floating-point object representation used by IEC 60559 is one of the most common floating-point object representations in use today.
...
Tool | Version | Checker | Description |
---|
Astrée | | memcmp-with-float | Partially checked |
Axivion Bauhaus Suite | Include Page |
---|
| Axivion Bauhaus Suite_V |
---|
| Axivion Bauhaus Suite_V |
---|
|
| CertC-FLP37 | Fully implemented |
Cppcheck Premium | Include Page |
---|
| Cppcheck Premium_V |
---|
| Cppcheck Premium_V |
---|
|
| premium-cert-flp37-c | Fully implemented |
Helix QAC | | C5026 C++3118 |
|
Klocwork | | MISRA.STDLIB.MEMCMP.PTR_ARG_TYPES CERT.MEMCMP.FLOAT_MEMBER |
|
LDRA tool suite | | 618 S | Enhanced Enforcement |
Parasoft C/C++test | | CERT_C-FLP37-a | CERT_C-FLP37- | b
CERT_C-FLP37-c | Avoid accessing arrays out of bounds | Pointer arithmetic should not be used
Do not use object representations to compare floating-point values |
PC-lint Plus | Include Page |
---|
| PC-lint Plus_V |
---|
| PC-lint Plus_V |
---|
|
| 2498, 2499 | Fully supported |
Polyspace Bug Finder | Include Page |
---|
| Polyspace Bug Finder_V |
---|
| Polyspace Bug Finder_V |
---|
|
| CERT C: Rule FLP37-C | Checks for memory comparison of floating-point values (rule fully covered) | PRQA QA
PVS- | CStudio | | PRQA QA | C | v | PRQA QA | C | v | 5026 V1014 |
|
RuleChecker | Include Page |
---|
| RuleChecker_V |
---|
| RuleChecker_V |
---|
|
| memcmp-with-float | Partially checked |
TrustInSoft Analyzer | Include Page |
---|
| TrustInSoft Analyzer_V |
---|
| TrustInSoft Analyzer_V |
---|
|
|
| Exhaustively verified. |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Bibliography
...