From 94a3a5b304dc5fd3101b864ed6f400dc5052a6f7 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Mon, 27 Jan 2025 14:56:32 -0800 Subject: [PATCH] Prevent possible NPE calculating Kafka record header size --- .../java/datadog/trace/instrumentation/kafka_common/Utils.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/kafka-common/src/main/java/datadog/trace/instrumentation/kafka_common/Utils.java b/dd-java-agent/instrumentation/kafka-common/src/main/java/datadog/trace/instrumentation/kafka_common/Utils.java index 61ec23b6c59..935692fee4c 100644 --- a/dd-java-agent/instrumentation/kafka-common/src/main/java/datadog/trace/instrumentation/kafka_common/Utils.java +++ b/dd-java-agent/instrumentation/kafka-common/src/main/java/datadog/trace/instrumentation/kafka_common/Utils.java @@ -14,7 +14,8 @@ public static long computePayloadSizeBytes(ConsumerRecord val) { Headers headers = val.headers(); if (headers != null) for (Header h : headers) { - headersSize += h.value().length + h.key().getBytes(StandardCharsets.UTF_8).length; + int valueSize = h.value() == null ? 0 : h.value().length; + headersSize += valueSize + h.key().getBytes(StandardCharsets.UTF_8).length; } return headersSize + val.serializedKeySize() + val.serializedValueSize(); }