| // __ _____ _____ _____ |
| // __| | __| | | | JSON for Modern C++ (supporting code) |
| // | | |__ | | | | | | version 3.11.2 |
| // |_____|_____|_____|_|___| https://github.com/nlohmann/json |
| // |
| // SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me> |
| // SPDX-License-Identifier: MIT |
| |
| #include "doctest_compatibility.h" |
| |
| #include <nlohmann/json.hpp> |
| using nlohmann::json; |
| |
| #include <algorithm> |
| |
| TEST_CASE("tests on very large JSONs") |
| { |
| SECTION("issue #1419 - Segmentation fault (stack overflow) due to unbounded recursion") |
| { |
| const auto depth = 5000000; |
| |
| std::string s(static_cast<std::size_t>(2 * depth), '['); |
| std::fill(s.begin() + depth, s.end(), ']'); |
| |
| json _; |
| CHECK_NOTHROW(_ = nlohmann::json::parse(s)); |
| } |
| } |
| |