...
Tool | Version | Checker | Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| assignment-conditional | Fully checked | |||||||||||
Axivion Bauhaus Suite |
| CertC-EXP45 | ||||||||||||
Clang |
| -Wparentheses | Can detect some instances of this rule, but does not detect all | |||||||||||
CodeSonar |
| LANG.STRUCT.CONDASSIG LANG.STRUCT.SE.COND LANG.STRUCT.USEASSIGN | Assignment in conditional Condition contains side effects Assignment result in expression | |||||||||||
Compass/ROSE | Could detect violations of this recommendation by identifying any assignment expression as the top-level expression in an | |||||||||||||
| CC2.EXP18 | Fully implemented | ||||||||||||
GCC |
| Can detect violations of this recommendation when the | ||||||||||||
Helix QAC |
| C: 3314, 3326, 3344, 3416 C++: 4071, 4074 | ||||||||||||
Klocwork |
| |||||||||||||
LDRA tool suite |
| 114 S, 132 S | Enhanced Enforcement | |||||||||||
Parasoft C/C++test |
| CERT_C-EXP45-b | Assignment operators shall not be used in conditions without brackets | |||||||||||
PC-lint Plus |
| 720 | Partially supported: reports Boolean test of unparenthesized assignment | |||||||||||
Polyspace Bug Finder |
| CERT C: Rule EXP45-C | Checks for invalid use of = (assignment) operator | |||||||||||
PRQA QA-C |
| 3314, 3326, 3344, 3416 | Partially implemented | |||||||||||
PRQA QA-C++ |
| 4071, 4074 | ||||||||||||
PVS-Studio |
| V559, V633, V699 | ||||||||||||
RuleChecker |
| assignment-conditional | Fully checked | |||||||||||
SonarQube C/C++ Plugin |
| AssignmentInSubExpression | Helix QAC | Include Page | | Helix QAC_V | Helix QAC_V |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...