🐛 fix BSON conformance issue

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
Niels Lohmann
2026-05-19 15:13:08 +02:00
parent c78d9dc386
commit 42f4df1159
3 changed files with 5 additions and 5 deletions
@@ -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();
+2 -2
View File
@@ -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();
+1 -1
View File
@@ -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());
}