You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: c/misra/src/rules/RULE-20-8/ControllingExpressionIfDirective.ql
+6-11Lines changed: 6 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -14,40 +14,35 @@
14
14
15
15
import cpp
16
16
import codingstandards.c.misra
17
+
import codingstandards.cpp.PreprocessorDirective
17
18
18
19
/* A controlling expression is evaluated if it is not excluded (guarded by another controlling expression that is not taken). This translates to it either being taken or not taken. */
- Fixes #370 - Non-member user-defined assignment operator and stream insertion/extraction parameters that are required to be out parameters are excluded.
3
+
- Broadens the definition of out parameter by considering assignment and crement operators as modifications to an out parameter candidate.
- Broadened definition of `IStream` and `OStream` types may result in reduced false negatives.
6
+
-`A5-1-1` - `LiteralValueUsedOutsideTypeInit.ql`:
7
+
- Broadened definition of `IStream` types may result in reduced false positives because more file stream function calls may be detected as logging operations that will be excluded from the results.
- Fix issue #7 - improve query logic to only match on exact standard library names (e.g., now excludes sys/header.h type headers from the results as those are not C standard libraries).
- Fix FP reported in #424. Exclude functions calling `std::string::reserve` or `std::string::append` that may throw even if their signatures don't specify it.
0 commit comments