Skip to content

Commit 0a0cc9c

Browse files
committed
NPE fixed
Signed-off-by: sezen.leblay <[email protected]>
1 parent 91c2cb9 commit 0a0cc9c

File tree

6 files changed

+19
-8
lines changed

6 files changed

+19
-8
lines changed

dd-java-agent/instrumentation/jersey-2-appsec/src/main/java/datadog/trace/instrumentation/jersey2/MessageBodyReaderInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ static void after(
7272
objToPass = ((Form) ret).asMap();
7373
} else {
7474
// Process XML strings for WAF compatibility
75-
objToPass = XmlDomUtils.processXmlForWaf(ret);
75+
Object processedObj = XmlDomUtils.processXmlForWaf(ret);
76+
objToPass = processedObj != null ? processedObj : ret;
7677
}
7778

7879
CallbackProvider cbp = AgentTracer.get().getCallbackProvider(RequestContextSlot.APPSEC);

dd-java-agent/instrumentation/jersey-3-appsec/src/main/java/datadog/trace/instrumentation/jersey3/MessageBodyReaderInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ static void after(
7272
objToPass = ((Form) ret).asMap();
7373
} else {
7474
// Process XML strings for WAF compatibility
75-
objToPass = XmlDomUtils.processXmlForWaf(ret);
75+
Object processedObj = XmlDomUtils.processXmlForWaf(ret);
76+
objToPass = processedObj != null ? processedObj : ret;
7677
}
7778

7879
CallbackProvider cbp = AgentTracer.get().getCallbackProvider(RequestContextSlot.APPSEC);

dd-java-agent/instrumentation/ratpack-1.5/src/main/java/datadog/trace/instrumentation/ratpack/ContextParseAdvice.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ static void after(
3535
}
3636

3737
// Process XML strings for WAF compatibility
38-
obj = XmlDomUtils.processXmlForWaf(obj);
38+
Object processedObj = XmlDomUtils.processXmlForWaf(obj);
39+
if (processedObj != null) {
40+
obj = processedObj;
41+
}
3942

4043
CallbackProvider cbp = AgentTracer.get().getCallbackProvider(RequestContextSlot.APPSEC);
4144
BiFunction<RequestContext, Object, Flow<Void>> callback =

dd-java-agent/instrumentation/vertx-web-3.4/src/main/java/datadog/trace/instrumentation/vertx_3_4/server/RoutingContextJsonAdvice.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ static void after(
3232
obj = ((JsonObject) obj).getMap();
3333
} else {
3434
// Process XML strings for WAF compatibility
35-
obj = XmlDomUtils.processXmlForWaf(obj);
35+
Object processedObj = XmlDomUtils.processXmlForWaf(obj);
36+
if (processedObj != null) {
37+
obj = processedObj;
38+
}
3639
}
3740

3841
CallbackProvider cbp = AgentTracer.get().getCallbackProvider(RequestContextSlot.APPSEC);

dd-java-agent/instrumentation/vertx-web-4.0/src/main/java/datadog/trace/instrumentation/vertx_4_0/server/RoutingContextJsonAdvice.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ static void after(
4646
obj = ((JsonObject) obj).getMap();
4747
} else {
4848
// Process XML strings for WAF compatibility
49-
obj = XmlDomUtils.processXmlForWaf(obj);
49+
Object processedObj = XmlDomUtils.processXmlForWaf(obj);
50+
if (processedObj != null) {
51+
obj = processedObj;
52+
}
5053
}
5154

5255
CallbackProvider cbp = AgentTracer.get().getCallbackProvider(RequestContextSlot.APPSEC);

dd-java-agent/instrumentation/vertx-web-5.0/src/main/java/datadog/trace/instrumentation/vertx_5_0/server/WafPublishingBodyHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public String toString() {
8585
String s = delegate.toString();
8686
// Process XML strings for WAF compatibility
8787
Object processedBody = XmlDomUtils.processXmlForWaf(s);
88-
publishRequestBody(processedBody);
88+
publishRequestBody(processedBody != null ? processedBody : s);
8989
return s;
9090
}
9191

@@ -94,7 +94,7 @@ public String toString(String enc) {
9494
String s = delegate.toString(enc);
9595
// Process XML strings for WAF compatibility
9696
Object processedBody = XmlDomUtils.processXmlForWaf(s);
97-
publishRequestBody(processedBody);
97+
publishRequestBody(processedBody != null ? processedBody : s);
9898
return s;
9999
}
100100

@@ -103,7 +103,7 @@ public String toString(Charset enc) {
103103
String s = delegate.toString(enc);
104104
// Process XML strings for WAF compatibility
105105
Object processedBody = XmlDomUtils.processXmlForWaf(s);
106-
publishRequestBody(processedBody);
106+
publishRequestBody(processedBody != null ? processedBody : s);
107107
return s;
108108
}
109109

0 commit comments

Comments
 (0)