Skip to content

Commit ef9d47c

Browse files
amarzialidevflow.devflow-routing-intake
andauthored
Servlet: avoid NPE when headerNames is null (#11394)
Servlet: avoid NPE when headerNames is null Co-authored-by: devflow.devflow-routing-intake <devflow.devflow-routing-intake@kubernetes.us1.ddbuild.io>
1 parent 8a2aa87 commit ef9d47c

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

dd-java-agent/instrumentation/servlet/javax-servlet/javax-servlet-3.0/src/main/java/datadog/trace/instrumentation/servlet3/HttpServletExtractAdapter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ public static final class Request extends HttpServletExtractAdapter<HttpServletR
3030

3131
@Override
3232
Enumeration<String> getHeaderNames(HttpServletRequest request) {
33-
return request.getHeaderNames();
33+
final Enumeration<String> ret = request.getHeaderNames();
34+
return ret != null ? ret : emptyEnumeration();
3435
}
3536

3637
@Override

dd-java-agent/testing/src/main/java/datadog/trace/agent/test/server/http/HttpServletRequestExtractAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ public class HttpServletRequestExtractAdapter
2020
public void forEachKey(
2121
final HttpServletRequest carrier, final AgentPropagation.KeyClassifier classifier) {
2222
Enumeration<String> headerNames = carrier.getHeaderNames();
23+
if (headerNames == null) {
24+
return;
25+
}
2326
while (headerNames.hasMoreElements()) {
2427
final String header = headerNames.nextElement();
2528
if (!classifier.accept(header, carrier.getHeader(header))) {

0 commit comments

Comments
 (0)