1// __ _____ _____ _____ 2// __| | __| | | | JSON for Modern C++ (supporting code) 3// | | |__ | | | | | | version 3.11.2 4// |_____|_____|_____|_|___| https://github.com/nlohmann/json 5// 6// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me> 7// SPDX-License-Identifier: MIT 8 9#include "doctest_compatibility.h" 10 11#include <nlohmann/json.hpp> 12using nlohmann::json; 13 14#include <algorithm> 15 16TEST_CASE("tests on very large JSONs") 17{ 18 SECTION("issue #1419 - Segmentation fault (stack overflow) due to unbounded recursion") 19 { 20 const auto depth = 5000000; 21 22 std::string s(static_cast<std::size_t>(2 * depth), '['); 23 std::fill(s.begin() + depth, s.end(), ']'); 24 25 json _; 26 CHECK_NOTHROW(_ = nlohmann::json::parse(s)); 27 } 28} 29 30