From 42f4df11597ba16f62f00a4826796090ea17e4a9 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 19 May 2026 15:13:08 +0200 Subject: [PATCH] :bug: fix BSON conformance issue Signed-off-by: Niels Lohmann --- include/nlohmann/detail/input/binary_reader.hpp | 4 ++-- single_include/nlohmann/json.hpp | 4 ++-- tests/src/unit-bson.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/nlohmann/detail/input/binary_reader.hpp b/include/nlohmann/detail/input/binary_reader.hpp index f4df800c2..63dfffa9c 100644 --- a/include/nlohmann/detail/input/binary_reader.hpp +++ b/include/nlohmann/detail/input/binary_reader.hpp @@ -472,8 +472,8 @@ class binary_reader auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, - "BSON document terminator did not land at declared document size", - "document"), nullptr)); + "BSON array terminator did not land at declared array size", + "array"), nullptr)); } return sax->end_array(); diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 3d269799e..411bb01ef 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -10614,8 +10614,8 @@ class binary_reader auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, - "BSON document terminator did not land at declared document size", - "document"), nullptr)); + "BSON array terminator did not land at declared array size", + "array"), nullptr)); } return sax->end_array(); diff --git a/tests/src/unit-bson.cpp b/tests/src/unit-bson.cpp index 53c308a23..e801250fa 100644 --- a/tests/src/unit-bson.cpp +++ b/tests/src/unit-bson.cpp @@ -1347,7 +1347,7 @@ TEST_CASE("Invalid document size handling") 0x00 // object terminator }; json _; - CHECK_THROWS_WITH_AS(_ = json::from_bson(v), "[json.exception.parse_error.112] parse error at byte 19: syntax error while parsing BSON document: BSON document terminator did not land at declared document size", json::parse_error&); + CHECK_THROWS_WITH_AS(_ = json::from_bson(v), "[json.exception.parse_error.112] parse error at byte 19: syntax error while parsing BSON array: BSON array terminator did not land at declared array size", json::parse_error&); CHECK(json::from_bson(v, true, false).is_discarded()); }