...
Tool | Version | Checker | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| Supported, but no explicit checker | |||||||||||||
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 | ||||||||||||
ECLAIR |
| CC2.INT34 | Partially implemented | ||||||||||||
LDRA tool suite |
| 51 S, 403 S, 479 S | Partially implemented | ||||||||||||
Parasoft C/C++test |
| MISRA-038 | |||||||||||||
Polyspace Bug Finder | R2016a | Shift operator on negative value Overflow from shifting operation | |||||||||||||
PRQA QA-C |
| 0499 | Partially implemented | Cppcheck | |||||||||||
Include Page | Cppcheck_V | Cppcheck_V | shiftNegative, shiftTooManyBits | 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.) | |||||||||||
PVS-Studio | 6.22 | V610General analysis rule |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...