...
Recommendation | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
MSC20-C | Medium | Probable | Yes | NoMedium | P8 | L2 |
Automated Detection
Tool | Version | Checker | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| switch-label | Fully checked | |||||||||||||||
| CodeSonar |
| LANG.STRUCT.SW.MPC PARSE.BIH PARSE.BITB | Misplaced case | |||||||||||||||
| CC2.MSC20 | Fully implemented | ||||||||||||||||
| Helix QAC |
| C2019 | ||||||||||||||||
| LDRA tool suite |
| 245 S | Fully implemented | |||||||||||||||
| PC-lint Plus |
| 646, 9055 | Fully supported | |||||||||||||||
| Polyspace Bug Finder |
| CERT C: Rec. MSC20-C | Checks for situations where switch label is not at the outermost level of switch statement body (rec. fully covered) | |||||||||||||||
| PRQA QA-CRuleChecker |
| PRQA QA-C_v | PRQA QA-C_v | 2019 | RuleChecker | |||||||||||||
| Include Page | RuleChecker_V | RuleChecker_V | switch-label | Fully checked
| switch-label | Fully checked | ||||||||||||
| Security Reviewer - Static Reviewer |
| ctuNullPointer | Fully implemented | |||||||||||||||
| SonarQube C/C++ Plugin |
| S1036 |
Related Guidelines
| SEI CERT C++ Coding Standard | VOID MSC20-CPP. Do not use a switch statement to transfer control into a complex block | ISO/IEC TR 24731-1:2007|
| MISRA C:2012 | Rule 16.2 (required) |
...