You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 93 Next »

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 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

EXP08-A. Ensure pointer arithmetic is used correctly

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

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

Rules

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

EXP31-C. Do not modify constant values

EXP32-C. Do not access a volatile object through a non-volatile reference

EXP33-C. Do not reference uninitialized variables

EXP34-C. Ensure a pointer is valid before dereferencing it

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

1 (low)

2 (probable)

2 (medium)

P4

L3

EXP01-A

3 (high)

2 (probable)

2 (medium)

P12

L1

EXP02-A

1 (low)

1 (unlikely)

2 (medium)

P2

L3

EXP03-A

2 (medium)

1 (unlikely)

1 (high)

P2

L3

EXP04-A

2 (medium)

1 (unlikely)

1 (high)

P2

L3

EXP05-A

1 (low)

2 (probable)

2 (medium)

P4

L3

EXP06-A

1 (low)

1 (unlikely)

3 (low)

P3

L3

EXP08-A

3 (high)

2 (probable)

1 (high)

P6

L2

EXP09-A

3 (high)

1 (unlikely)

2 (medium)

P6

L2

EXP10-A

1 (low)

1 (unlikely)

2 (medium)

P2

L3

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

EXP30-C

2 (medium)

2 (probable)

2 (medium)

P8

L2

EXP31-C

1 (low)

1 (unlikely)

2 (medium)

P2

L3

EXP32-C

1 (low)

3 (likely)

2 (medium)

P6

L2

EXP33-C

3 (high)

1 (unlikely)

2 (medium)

P6

L2

EXP34-C

3 (high)

3 (likely)

2 (medium)

P18

L1

EXP35-C

1 (low)

1 (unlikely)

3 (low)

P3

L3

EXP36-C

1 (low)

2 (probable)

2 (medium)

P4

L3

EXP37-C

1 (low)

1 (unlikely)

3 (low)

P3

L3

EXP38-C

1 (low)

1 (unlikely)

2 (medium)

P2

L3

Related Rules and Recommendations


      02. Declarations and Initialization (DCL)      

  • No labels