From 5438f95975e8fe76b26a70c4c3adeff11484aa31 Mon Sep 17 00:00:00 2001 From: NithinU2802 Date: Tue, 3 Nov 2026 18:45:23 +0530 Subject: [PATCH] fix: caseinsensitivemap handling of null and non-string keys --- .../incubator/propagation/CaseInsensitiveMap.java | 3 +++ .../propagation/CaseInsensitiveMapTest.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/api/incubator/src/main/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMap.java b/api/incubator/src/main/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMap.java index 64a33350508..58f7ab9e254 100644 --- a/api/incubator/src/main/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMap.java +++ b/api/incubator/src/main/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMap.java @@ -39,6 +39,9 @@ private static String getKeyLowerCase(String key) { @Override @Nullable public String get(Object key) { + if (!(key instanceof String)) { + return null; + } return super.get(getKeyLowerCase((String) key)); } } diff --git a/api/incubator/src/test/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMapTest.java b/api/incubator/src/test/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMapTest.java index ac9feee91b4..7571de09ac0 100644 --- a/api/incubator/src/test/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMapTest.java +++ b/api/incubator/src/test/java/io/opentelemetry/api/incubator/propagation/CaseInsensitiveMapTest.java @@ -66,4 +66,19 @@ void caseInsensitivity() { assertThat(caseInsensitiveMap.get("kEy2")).isEqualTo("test2"); assertThat(caseInsensitiveMap.get("KEY2")).isEqualTo("test2"); } + + @Test + void getWithNullKey() { + CaseInsensitiveMap caseInsensitiveMap = new CaseInsensitiveMap(); + caseInsensitiveMap.put("key1", "test"); + assertThat(caseInsensitiveMap.get(null)).isNull(); + } + + @Test + void getWithNonStringKey() { + CaseInsensitiveMap caseInsensitiveMap = new CaseInsensitiveMap(); + caseInsensitiveMap.put("key1", "test"); + Object nonStringKey = 123; + assertThat(caseInsensitiveMap.get(nonStringKey)).isNull(); + } }