Recommendations

EXP00-A. Use parentheses for precedence of operation

EXP01-A. Do not take the size of a pointer to determine the size of the pointed-to type

EXP02-A. The second operands of the logical AND and OR operators should not contain side effects

EXP03-A. Do not assume the size of a structure is the sum of the sizes of its members

EXP04-A. Do not perform byte-by-byte comparisons between structures

EXP05-A. Do not cast away a const qualification

EXP06-A. Operands to the sizeof operator should not contain side effects

EXP07-A. Do not diminish the benefits of constants by assuming their values in expressions

EXP08-A. Ensure pointer arithmetic is used correctly

EXP09-A. Use sizeof to determine the size of a type or variable

EXP10-A. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place

Rules

EXP30-C. Do not depend on order of evaluation between sequence points

EXP31-C. Do not modify constant values

EXP32-C. Do not cast away a volatile qualification

EXP33-C. Do not reference uninitialized variables

EXP34-C. Ensure a NULL pointer is not dereferenced

EXP35-C. Do not access or modify the result of a function call after a subsequent sequence point

EXP36-C. Do not convert pointers into more strictly aligned pointer types

EXP37-C. Call functions with the arguments intended by the API

EXP38-C. Do not call offsetof() on bit-field members or invalid types

EXP39-C. Avoid side effects in assertions

Risk Assessment Summary

Recommendation

Severity

Likelihood

Remediation Cost

Priority

Level

EXP00-A

low

probable

medium

P4

L3

EXP01-A

high

probable

medium

P12

L1

EXP02-A

low

unlikely

medium

P2

L3

EXP03-A

medium

unlikely

high

P2

L3

EXP04-A

medium

unlikely

high

P2

L3

EXP05-A

low

probable

high

P2

L3

EXP06-A

low

unlikely

low

P3

L3

EXP07-A

low

unlikely

medium

P2

L3

EXP08-A

high

probable

high

P6

L2

EXP09-A

high

unlikely

medium

P6

L2

EXP10-A

medium

probable

medium

P8

L2

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

EXP30-C

medium

probable

medium

P8

L2

EXP31-C

low

unlikely

medium

P2

L3

EXP32-C

low

likely

medium

P6

L2

EXP33-C

high

unlikely

medium

P6

L2

EXP34-C

high

likely

medium

P18

L1

EXP35-C

low

unlikely

low

P3

L3

EXP36-C

low

probable

medium

P4

L3

EXP37-C

low

unlikely

low

P3

L3

EXP38-C

low

unlikely

medium

P2

L3

EXP39-C

low

unlikely

medium

P2

L3

Related Rules and Recommendations


      02. Declarations and Initialization (DCL)       EXP00-A. Use parentheses for precedence of operation