...
Tool | Version | Checker | Description | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| precision-shift-width | Fully checked | |||||||||||||||||
Axivion Bauhaus Suite |
| CertC-INT34 | Can detect shifts by a negative or an excessive number of bits and right shifts on negative values. | |||||||||||||||||
CodeSonar |
| LANG.ARITH.BIGSHIFT | Shift amount exceeds bit width | |||||||||||||||||
Compass/ROSE | Can detect violations of this rule. Unsigned operands are detected when checking for INT13-C. Use bitwise operators only on unsigned operands | |||||||||||||||||||
Coverity |
| BAD_SHIFT | Implemented | |||||||||||||||||
Cppcheck |
| shiftNegative, shiftTooManyBits | Context sensitive analysis | |||||||||||||||||
Cppcheck Premium |
| shiftNegative, shiftTooManyBits premium-cert-int34-c | Context sensitive analysis Warns whenever Cppcheck sees a negative shift for a POD expression (The warning for shifting too many bits is written only if Cppcheck has sufficient type information and you use --platform to specify the sizes of the standard types.) | |||||||||||||||||
ECLAIR |
| CC2.INT34 | Partially implemented | |||||||||||||||||
Helix QAC |
| C0499C0499, C2790, | C2791, C2792, C2793
C++ | 2791, C++2792, 2790, C++ | 2793, C++3003 | , C++3321, C++3322DF2791, DF2792, DF2793 | ||||||||||||||
Klocwork |
| CWARNMISRA. | NOEFFECTSHIFT. | OUTOFRANGENUMRANGE. | OVERFLOW2012 | |||||||||||||||
LDRA tool suite |
| 51 S, 403 S, 479 S | Partially implemented | |||||||||||||||||
Parasoft C/C++test |
| CERT_C-INT34-a | Avoid incorrect shift operations | |||||||||||||||||
Polyspace Bug Finder |
| Checks for:
Rule partially covered. | PRQA QA-C | |||||||||||||||||
Include Page | PRQA QA-C_v | PRQA QA-C_v | 0499, 2790 [C], 2791 [D], | Partially implemented | PRQA QA-C++ | |||||||||||||||
Include Page | cplusplus:PRQA QA-C++_V | cplusplus:PRQA QA-C++_V | 2791, 2792, 2793, 3003, 3321, 3322||||||||||||||||||
PVS-Studio |
| V610 | ||||||||||||||||||
RuleChecker |
| precision-shift-width-constant | Partially checked | |||||||||||||||||
TrustInSoft Analyzer |
| shift | Exhaustively verified (see one compliant and one non-compliant example). |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...