Skip to content

Commit e78a54c

Browse files
Add missing checks for an active request context
1 parent bf8602f commit e78a54c

4 files changed

Lines changed: 10 additions & 6 deletions

File tree

dd-java-agent/instrumentation/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/iast/HeaderNameCallSite.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import datadog.trace.api.iast.Source;
99
import datadog.trace.api.iast.SourceTypes;
1010
import datadog.trace.api.iast.propagation.PropagationModule;
11+
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
1112

1213
/**
1314
* Detects when a header name is directly called from user code. This uses call site instrumentation
@@ -27,7 +28,7 @@ public static String after(@CallSite.This HttpHeader header, @CallSite.Return St
2728
return result;
2829
}
2930
try {
30-
final IastContext ctx = IastContext.Provider.get();
31+
final IastContext ctx = IastContext.Provider.get(AgentTracer.activeSpan());
3132
if (ctx == null) {
3233
return result;
3334
}

dd-java-agent/instrumentation/pekko-http-1.0/src/main/java/datadog/trace/instrumentation/pekkohttp/iast/HeaderNameCallSite.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import datadog.trace.api.iast.Source;
88
import datadog.trace.api.iast.SourceTypes;
99
import datadog.trace.api.iast.propagation.PropagationModule;
10+
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
1011
import org.apache.pekko.http.javadsl.model.HttpHeader;
1112

1213
/**
@@ -28,7 +29,7 @@ public static String after(@CallSite.This HttpHeader header, @CallSite.Return St
2829
return result;
2930
}
3031
try {
31-
final IastContext ctx = IastContext.Provider.get();
32+
final IastContext ctx = IastContext.Provider.get(AgentTracer.activeSpan());
3233
if (ctx == null) {
3334
return result;
3435
}

dd-java-agent/instrumentation/servlet/request-5/src/main/java/datadog/trace/instrumentation/servlet5/JakartaHttpServletRequestCallSite.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import datadog.trace.api.iast.Source;
88
import datadog.trace.api.iast.SourceTypes;
99
import datadog.trace.api.iast.propagation.PropagationModule;
10+
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
1011
import jakarta.servlet.http.HttpServletRequest;
1112

1213
/**
@@ -30,7 +31,7 @@ public static String afterPath(
3031
final PropagationModule module = InstrumentationBridge.PROPAGATION;
3132
if (module != null) {
3233
try {
33-
final IastContext ctx = IastContext.Provider.get();
34+
final IastContext ctx = IastContext.Provider.get(AgentTracer.activeSpan());
3435
if (ctx != null) {
3536
module.taint(ctx, retValue, SourceTypes.REQUEST_PATH);
3637
}
@@ -52,7 +53,7 @@ public static StringBuffer afterGetRequestURL(
5253
final PropagationModule module = InstrumentationBridge.PROPAGATION;
5354
if (module != null) {
5455
try {
55-
final IastContext ctx = IastContext.Provider.get();
56+
final IastContext ctx = IastContext.Provider.get(AgentTracer.activeSpan());
5657
if (ctx != null) {
5758
module.taint(ctx, retValue, SourceTypes.REQUEST_URI);
5859
}

dd-java-agent/instrumentation/servlet/src/main/java/datadog/trace/instrumentation/servlet/http/HttpServletRequestCallSite.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import datadog.trace.api.iast.Source;
88
import datadog.trace.api.iast.SourceTypes;
99
import datadog.trace.api.iast.propagation.PropagationModule;
10+
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
1011
import javax.servlet.http.HttpServletRequest;
1112

1213
/**
@@ -30,7 +31,7 @@ public static String afterPath(
3031
final PropagationModule module = InstrumentationBridge.PROPAGATION;
3132
if (module != null) {
3233
try {
33-
final IastContext ctx = IastContext.Provider.get();
34+
final IastContext ctx = IastContext.Provider.get(AgentTracer.activeSpan());
3435
if (ctx != null) {
3536
module.taint(ctx, retValue, SourceTypes.REQUEST_PATH);
3637
}
@@ -52,7 +53,7 @@ public static StringBuffer afterGetRequestURL(
5253
final PropagationModule module = InstrumentationBridge.PROPAGATION;
5354
if (module != null) {
5455
try {
55-
final IastContext ctx = IastContext.Provider.get();
56+
final IastContext ctx = IastContext.Provider.get(AgentTracer.activeSpan());
5657
if (ctx != null) {
5758
module.taint(ctx, retValue, SourceTypes.REQUEST_URI);
5859
}

0 commit comments

Comments
 (0)