From 0e6bb28016608d167a94c06af305a7fe36c024b2 Mon Sep 17 00:00:00 2001 From: Benjamin Muskalla Date: Tue, 16 Nov 2021 10:46:24 +0100 Subject: [PATCH] Only consider store steps --- java/ql/src/utils/model-generator/CaptureSummaryModels.ql | 4 ++-- .../test/utils/model-generator/CaptureSummaryModels.expected | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/java/ql/src/utils/model-generator/CaptureSummaryModels.ql b/java/ql/src/utils/model-generator/CaptureSummaryModels.ql index cf33d62263d..91767270c75 100644 --- a/java/ql/src/utils/model-generator/CaptureSummaryModels.ql +++ b/java/ql/src/utils/model-generator/CaptureSummaryModels.ql @@ -158,9 +158,9 @@ class ParameterToReturnValueTaintConfig extends TaintTracking::Configuration { override predicate isSink(DataFlow::Node sink) { sink instanceof ReturnNode } - // track taint across objects so we consider factory methods returning newly tainted objects + // consider store steps to track taint across objects to model factory methods returning tainted objects override predicate isAdditionalTaintStep(DataFlow::Node node1, DataFlow::Node node2) { - node2.asExpr().(ConstructorCall).getAnArgument() = node1.asExpr() + store(node1, _, node2, _) } override DataFlow::FlowFeature getAFeature() { diff --git a/java/ql/test/utils/model-generator/CaptureSummaryModels.expected b/java/ql/test/utils/model-generator/CaptureSummaryModels.expected index 45ceb860f8e..f26ff2c9c21 100644 --- a/java/ql/test/utils/model-generator/CaptureSummaryModels.expected +++ b/java/ql/test/utils/model-generator/CaptureSummaryModels.expected @@ -44,4 +44,3 @@ | p;Pojo;false;getValue;();;Argument[-1];ReturnValue;taint | | p;Pojo;false;setValue;(String);;Argument[0];Argument[-1];taint | | p;PrivateFlowViaPublicInterface;true;createAnSPI;(File);;Argument[0];ReturnValue;taint | -| p;PrivateFlowViaPublicInterface;true;createAnSPIWithoutTrackingFile;(File);;Argument[0];ReturnValue;taint |