File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed
semmle/code/java/dataflow/internal Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ category : minorAnalysis
3+ ---
4+ * A bug has been fixed in the heuristic identification of uncertain control
5+ flow, which is used to filter data flow in order to improve performance and
6+ reduce false positives. This fix means that slightly more code is identified
7+ and hence pruned from data flow.
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ private import ContainerFlow
88private import semmle.code.java.dataflow.FlowSteps
99private import semmle.code.java.dataflow.FlowSummary
1010private import semmle.code.java.dataflow.ExternalFlow
11+ private import semmle.code.java.dataflow.InstanceAccess
1112private import FlowSummaryImpl as FlowSummaryImpl
1213private import DataFlowNodes
1314private import codeql.dataflow.VariableCapture as VariableCapture
@@ -710,8 +711,14 @@ class DataFlowSecondLevelScope extends TDataFlowSecondLevelScope {
710711}
711712
712713private Expr getRelatedExpr ( Node n ) {
713- n .asExpr ( ) = result or
714- n .( PostUpdateNode ) .getPreUpdateNode ( ) .asExpr ( ) = result
714+ n .asExpr ( ) = result
715+ or
716+ exists ( InstanceAccessExt iae | iae = n .( ImplicitInstanceAccess ) .getInstanceAccess ( ) |
717+ iae .isImplicitFieldQualifier ( result ) or
718+ iae .isImplicitMethodQualifier ( result )
719+ )
720+ or
721+ getRelatedExpr ( n .( PostUpdateNode ) .getPreUpdateNode ( ) ) = result
715722}
716723
717724/** Gets the second-level scope containing the node `n`, if any. */
You can’t perform that action at this time.
0 commit comments