diff --git a/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/PathMatchingHttpServletRequestWrapper.java b/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/PathMatchingHttpServletRequestWrapper.java index cdaf8a4bfdc..8eaa85dfb42 100644 --- a/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/PathMatchingHttpServletRequestWrapper.java +++ b/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/PathMatchingHttpServletRequestWrapper.java @@ -6,7 +6,7 @@ import javax.servlet.http.HttpServletRequestWrapper; class PathMatchingHttpServletRequestWrapper extends HttpServletRequestWrapper { - private final Map localAttributes = new HashMap<>(); + private Map localAttributes; public PathMatchingHttpServletRequestWrapper(HttpServletRequest request) { super(request); @@ -14,20 +14,27 @@ public PathMatchingHttpServletRequestWrapper(HttpServletRequest request) { @Override public Object getAttribute(String name) { - final Object ret = localAttributes.get(name); - if (ret == null) { - return super.getAttribute(name); + if (localAttributes != null) { + final Object ret = localAttributes.get(name); + if (ret != null) { + return ret; + } } - return ret; + return super.getAttribute(name); } @Override public void setAttribute(String name, Object o) { + if (localAttributes == null) { + localAttributes = new HashMap<>(); + } localAttributes.put(name, o); } @Override public void removeAttribute(String name) { - localAttributes.remove(name); + if (localAttributes != null) { + localAttributes.remove(name); + } } } diff --git a/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/src/main/java17/datadog/trace/instrumentation/springweb6/PathMatchingHttpServletRequestWrapper.java b/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/src/main/java17/datadog/trace/instrumentation/springweb6/PathMatchingHttpServletRequestWrapper.java index 7c0e05f23b9..9283ae59abe 100644 --- a/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/src/main/java17/datadog/trace/instrumentation/springweb6/PathMatchingHttpServletRequestWrapper.java +++ b/dd-java-agent/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/src/main/java17/datadog/trace/instrumentation/springweb6/PathMatchingHttpServletRequestWrapper.java @@ -6,7 +6,7 @@ import java.util.Map; class PathMatchingHttpServletRequestWrapper extends HttpServletRequestWrapper { - private final Map localAttributes = new HashMap<>(); + private Map localAttributes; public PathMatchingHttpServletRequestWrapper(HttpServletRequest request) { super(request); @@ -14,20 +14,27 @@ public PathMatchingHttpServletRequestWrapper(HttpServletRequest request) { @Override public Object getAttribute(String name) { - final Object ret = localAttributes.get(name); - if (ret == null) { - return super.getAttribute(name); + if (localAttributes != null) { + final Object ret = localAttributes.get(name); + if (ret != null) { + return ret; + } } - return ret; + return super.getAttribute(name); } @Override public void setAttribute(String name, Object o) { + if (localAttributes == null) { + localAttributes = new HashMap<>(); + } localAttributes.put(name, o); } @Override public void removeAttribute(String name) { - localAttributes.remove(name); + if (localAttributes != null) { + localAttributes.remove(name); + } } }