Skip to content

Latest commit

 

History

History
5 lines (5 loc) · 1.24 KB

File metadata and controls

5 lines (5 loc) · 1.24 KB
  • A5-0-1, EXP50-CPP - ExpressionShouldNotRelyONOrderOfEvaluation.ql, DoNotDependOnTheOrderOfScalarObjectEvaluationForSideEffects.ql:
    • Fixed a bug where some sequenced operations were not detected as such due to an error in the "candidate selection" process. This could have complex effects on results, but should mostly fix false positives. Some unsequenced operations that previously reported one alert may now report two, due to the extra candidates being considered.
    • Sequencing between full expressions no longer requires that the expressions are sequential; expressions in separate if statements, for instance, are not necessarily sequential, but they are still ordered. It is unclear if this change will have any effect on results, but it should be more accurate to the standard.
  • RULE-13-2, A5-0-1, EXP50-CPP, EXP30-C - UnsequencedSideEffects.ql, UnsequencedAtomicReads.ql, ExpressionShouldNotRelyONOrderOfEvaluation.ql, DoNotDependOnTheOrderOfScalarObjectEvaluationForSideEffects.ql, DependenceOnOrderOfScalarEvaluationForSideEffects.ql:
    • Implementation of ordering has been refactored to share more code across specifications (C11-C17, C++14, and C++17 sequencing rules). No change in results is expected from this refactor.