Miscellaneous (MSC)
- MSC00-C. Compile cleanly at high warning levels
- MSC01-C. Strive for logical completeness
- MSC04-C. Use comments consistently and in a readable fashion
- MSC05-C. Do not manipulate time_t typed values directly
- MSC06-C. Beware of compiler optimizations
- MSC07-C. Detect and remove dead code
- MSC09-C. Character encoding: Use subset of ASCII for safety
- MSC10-C. Character encoding: UTF8-related issues
- MSC11-C. Incorporate diagnostic tests using assertions
- MSC12-C. Detect and remove code that has no effect or is never executed
- MSC13-C. Detect and remove unused values
- MSC14-C. Do not introduce unnecessary platform dependencies
- MSC15-C. Do not depend on undefined behavior
- MSC17-C. Finish every set of statements associated with a case label with a break statement
- MSC18-C. Be careful while handling sensitive data, such as passwords, in program code
- MSC19-C. For functions that return an array, prefer returning an empty array over a null value
- MSC20-C. Do not use a switch statement to transfer control into a complex block
- MSC21-C. Use robust loop termination conditions
- MSC22-C. Use the setjmp(), longjmp() facility securely
- MSC23-C. Beware of vendor-specific library and language differences
- MSC24-C. Do not use deprecated or obsolescent functions
- MSC25-C. Do not use insecure or weak cryptographic algorithms
Information for Editors
To have a new guideline automatically listed above be sure to label it msc and recommendation .
Risk Assessment Summary
| Rule | Severity | Likelihood | Detectable | Repairable | Priority | Level |
|---|---|---|---|---|---|---|
| MSC00-C | Medium | Probable | No | No | P4 | L3 |
| MSC01-C | Medium | Probable | No | No | P4 | L3 |
| MSC04-C | Medium | Unlikely | Yes | No | P4 | L3 |
| MSC05-C | Low | Unlikely | Yes | No | P2 | L3 |
| MSC06-C | Medium | Probable | Yes | Yes | P12 | L1 |
| MSC07-C | Low | Unlikely | No | Yes | P2 | L3 |
| MSC09-C | Medium | Unlikely | Yes | No | P4 | L3 |
| MSC10-C | Medium | Unlikely | No | No | P2 | L3 |
| MSC11-C | Low | Unlikely | No | No | P1 | L3 |
| MSC12-C | Low | Unlikely | No | Yes | P2 | L3 |
| MSC13-C | Low | Unlikely | Yes | Yes | P3 | L3 |
| MSC14-C | Low | Unlikely | No | No | P1 | L3 |
| MSC15-C | High | Likely | No | No | P9 | L2 |
| MSC17-C | Medium | Likely | Yes | Yes | P18 | L1 |
| MSC18-C | Medium | Probable | No | No | P4 | L3 |
| MSC19-C | Low | Unlikely | Yes | No | P2 | L3 |
| MSC20-C | Medium | Probable | Yes | No | P8 | L2 |
| MSC21-C | Low | Unlikely | No | No | P1 | L3 |
| MSC22-C | Low | Probable | No | No | P2 | L3 |
| MSC23-C | High | Probable | No | No | P6 | L3 |
| MSC24-C | High | Probable | Yes | No | P12 | L1 |
| MSC25-C | Medium | Probable | No | No | P4 | L3 |


