diff --git a/dd-java-agent/instrumentation/undertow/undertow-common/src/main/java/datadog/trace/instrumentation/undertow/HttpServerExchangeURIDataAdapter.java b/dd-java-agent/instrumentation/undertow/undertow-common/src/main/java/datadog/trace/instrumentation/undertow/HttpServerExchangeURIDataAdapter.java index a9dbc130978..947dcefb887 100644 --- a/dd-java-agent/instrumentation/undertow/undertow-common/src/main/java/datadog/trace/instrumentation/undertow/HttpServerExchangeURIDataAdapter.java +++ b/dd-java-agent/instrumentation/undertow/undertow-common/src/main/java/datadog/trace/instrumentation/undertow/HttpServerExchangeURIDataAdapter.java @@ -22,7 +22,13 @@ public String host() { @Override public int port() { - return httpServerExchange.getHostPort(); + try { + return httpServerExchange.getHostPort(); + } catch (final NullPointerException e) { + // Undertow's getHostPort() can NPE internally (e.g. no Host header and a connection whose + // local address isn't an InetSocketAddress, such as AJP or a Unix domain socket transport). + return 0; + } } @Override