File tree Expand file tree Collapse file tree 5 files changed +40
-0
lines changed
csharp/ql/lib/semmle/code/csharp/dataflow/internal
go/ql/lib/semmle/go/dataflow/internal
python/ql/lib/semmle/python/dataflow/new/internal
ruby/ql/lib/codeql/ruby/dataflow/internal
swift/ql/lib/codeql/swift/dataflow/internal Expand file tree Collapse file tree 5 files changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -505,6 +505,9 @@ module Private {
505505 or
506506 // Add the post-update node corresponding to the requested argument node
507507 outputState ( c , s ) and isCallbackParameter ( s )
508+ or
509+ // Add the parameter node for parameter side-effects
510+ outputState ( c , s ) and s = SummaryComponentStack:: argument ( _)
508511 }
509512
510513 private newtype TSummaryNodeState =
@@ -713,6 +716,11 @@ module Private {
713716 head = TSyntheticGlobalSummaryComponent ( sg ) and
714717 result = getSyntheticGlobalType ( sg )
715718 )
719+ or
720+ exists ( ParameterPosition pos |
721+ head = TArgumentSummaryComponent ( pos ) and
722+ result = getParameterType ( c , pos )
723+ )
716724 )
717725 or
718726 n = summaryNodeOutputState ( c , s ) and
Original file line number Diff line number Diff line change @@ -505,6 +505,9 @@ module Private {
505505 or
506506 // Add the post-update node corresponding to the requested argument node
507507 outputState ( c , s ) and isCallbackParameter ( s )
508+ or
509+ // Add the parameter node for parameter side-effects
510+ outputState ( c , s ) and s = SummaryComponentStack:: argument ( _)
508511 }
509512
510513 private newtype TSummaryNodeState =
@@ -713,6 +716,11 @@ module Private {
713716 head = TSyntheticGlobalSummaryComponent ( sg ) and
714717 result = getSyntheticGlobalType ( sg )
715718 )
719+ or
720+ exists ( ParameterPosition pos |
721+ head = TArgumentSummaryComponent ( pos ) and
722+ result = getParameterType ( c , pos )
723+ )
716724 )
717725 or
718726 n = summaryNodeOutputState ( c , s ) and
Original file line number Diff line number Diff line change @@ -505,6 +505,9 @@ module Private {
505505 or
506506 // Add the post-update node corresponding to the requested argument node
507507 outputState ( c , s ) and isCallbackParameter ( s )
508+ or
509+ // Add the parameter node for parameter side-effects
510+ outputState ( c , s ) and s = SummaryComponentStack:: argument ( _)
508511 }
509512
510513 private newtype TSummaryNodeState =
@@ -713,6 +716,11 @@ module Private {
713716 head = TSyntheticGlobalSummaryComponent ( sg ) and
714717 result = getSyntheticGlobalType ( sg )
715718 )
719+ or
720+ exists ( ParameterPosition pos |
721+ head = TArgumentSummaryComponent ( pos ) and
722+ result = getParameterType ( c , pos )
723+ )
716724 )
717725 or
718726 n = summaryNodeOutputState ( c , s ) and
Original file line number Diff line number Diff line change @@ -505,6 +505,9 @@ module Private {
505505 or
506506 // Add the post-update node corresponding to the requested argument node
507507 outputState ( c , s ) and isCallbackParameter ( s )
508+ or
509+ // Add the parameter node for parameter side-effects
510+ outputState ( c , s ) and s = SummaryComponentStack:: argument ( _)
508511 }
509512
510513 private newtype TSummaryNodeState =
@@ -713,6 +716,11 @@ module Private {
713716 head = TSyntheticGlobalSummaryComponent ( sg ) and
714717 result = getSyntheticGlobalType ( sg )
715718 )
719+ or
720+ exists ( ParameterPosition pos |
721+ head = TArgumentSummaryComponent ( pos ) and
722+ result = getParameterType ( c , pos )
723+ )
716724 )
717725 or
718726 n = summaryNodeOutputState ( c , s ) and
Original file line number Diff line number Diff line change @@ -505,6 +505,9 @@ module Private {
505505 or
506506 // Add the post-update node corresponding to the requested argument node
507507 outputState ( c , s ) and isCallbackParameter ( s )
508+ or
509+ // Add the parameter node for parameter side-effects
510+ outputState ( c , s ) and s = SummaryComponentStack:: argument ( _)
508511 }
509512
510513 private newtype TSummaryNodeState =
@@ -713,6 +716,11 @@ module Private {
713716 head = TSyntheticGlobalSummaryComponent ( sg ) and
714717 result = getSyntheticGlobalType ( sg )
715718 )
719+ or
720+ exists ( ParameterPosition pos |
721+ head = TArgumentSummaryComponent ( pos ) and
722+ result = getParameterType ( c , pos )
723+ )
716724 )
717725 or
718726 n = summaryNodeOutputState ( c , s ) and
You can’t perform that action at this time.
0 commit comments