mirror of
https://github.com/nlohmann/json.git
synced 2026-09-24 22:05:16 +01:00
The "doubles" compliance test built its 1e308 literal as a std::string sized to 312 bytes with an explicit trailing '\0' at index 311, relying on the old NUL-as-EOF lexer behavior removed earlier in this branch: with that removed, the NUL is ordinary (invalid) trailing data instead of being silently swallowed, so json::parse() correctly rejected it with parse_error.101 - breaking CI across every compiler/platform, since this one nativejson-benchmark TEST_CASE is exercised by every test job. No padding is needed at all: json::parse(const std::string&) already uses the string's own size(), not a NUL terminator. Drop the trailing byte and shrink the string by one to match (index 310 - the new last index - is where ']' now goes), fixing this the same way the other pre-existing tests in this branch that depended on the same bug were already fixed. Signed-off-by: Niels Lohmann <niels.lohmann@gmail.com> Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4RQ1Ahan5YAGbnAQGjZTY