From 2e2f4d2b5a59f14f54da180a2580e311beb896c9 Mon Sep 17 00:00:00 2001 From: Gaurav Ramnani Date: Wed, 9 Sep 2026 23:38:36 +0100 Subject: [PATCH 1/3] Added guard for max_value_len --- opentelemetry-api/src/opentelemetry/attributes/__init__.py | 2 ++ opentelemetry-api/tests/attributes/test_attributes.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/opentelemetry-api/src/opentelemetry/attributes/__init__.py b/opentelemetry-api/src/opentelemetry/attributes/__init__.py index 2ba2d393200..6bc3590f0f1 100644 --- a/opentelemetry-api/src/opentelemetry/attributes/__init__.py +++ b/opentelemetry-api/src/opentelemetry/attributes/__init__.py @@ -146,6 +146,8 @@ def __init__( ) -> None: if maxlen is not None and maxlen < 0: raise ValueError("maxlen must be valid int greater or equal to 0") + if max_value_len is not None and max_value_len < 0: + raise ValueError("max_value_len must be valid int greater or equal to 0") self._dict: dict[str, types.AnyValue] = {} self.maxlen = maxlen self.dropped = 0 diff --git a/opentelemetry-api/tests/attributes/test_attributes.py b/opentelemetry-api/tests/attributes/test_attributes.py index 29e9826481d..2d9c8cb9c29 100644 --- a/opentelemetry-api/tests/attributes/test_attributes.py +++ b/opentelemetry-api/tests/attributes/test_attributes.py @@ -116,6 +116,10 @@ def test_negative_maxlen_not_allowed(self): with self.assertRaises(ValueError): BoundedAttributes(-1) + def test_negative_max_value_len_not_allowed(self): + with self.assertRaises(ValueError): + BoundedAttributes(1, {"first": "value"}, immutable=False, max_value_len=-1) + def test_base_copy_isolated_and_len_works(self): dic_len = len(self.base) base_copy = self.base.copy() From 369c84bea8ee1645159f62aa82fbd05c03c50da5 Mon Sep 17 00:00:00 2001 From: Gaurav Ramnani Date: Wed, 9 Sep 2026 23:54:54 +0100 Subject: [PATCH 2/3] Added changelog --- .changelog/5646.fixed | 1 + 1 file changed, 1 insertion(+) create mode 100644 .changelog/5646.fixed diff --git a/.changelog/5646.fixed b/.changelog/5646.fixed new file mode 100644 index 00000000000..2e44244b339 --- /dev/null +++ b/.changelog/5646.fixed @@ -0,0 +1 @@ +`opentelemetry-api`: Added guard for negative value on max_value_len \ No newline at end of file From 063a221e8b52f0f9b0e0e4474965083b4bbf017d Mon Sep 17 00:00:00 2001 From: Gaurav Ramnani Date: Fri, 11 Sep 2026 00:13:20 +0100 Subject: [PATCH 3/3] Rename changelog file --- .changelog/{5646.fixed => 5647.fixed} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{5646.fixed => 5647.fixed} (100%) diff --git a/.changelog/5646.fixed b/.changelog/5647.fixed similarity index 100% rename from .changelog/5646.fixed rename to .changelog/5647.fixed