Merge pull request #10007 from aschackmull/dataflow/source-node-identity

Dataflow: Fix identification of source PathNodes in the presence of source-to-source flow
This commit is contained in:
Anders Schack-Mulligen 2022-08-15 10:39:17 +02:00 коммит произвёл GitHub
Родитель 1d56330baa abad133ab5
Коммит a3fb54c9de
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
31 изменённых файлов: 31 добавлений и 31 удалений

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {

Просмотреть файл

@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny else cc instanceof CallContextAny
) and ) and
sc instanceof SummaryCtxNone and sc instanceof SummaryCtxNone and
ap instanceof AccessPathNil ap = TAccessPathNil(node.getDataFlowType())
} }
predicate isAtSink() { predicate isAtSink() {