2022-07-20 12:38:07 +02:00
|
|
|
// __ _____ _____ _____
|
|
|
|
// __| | __| | | | JSON for Modern C++ (supporting code)
|
2022-08-12 15:04:06 +02:00
|
|
|
// | | |__ | | | | | | version 3.11.2
|
2022-07-20 12:38:07 +02:00
|
|
|
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
|
|
|
|
//
|
|
|
|
// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
|
|
|
|
// SPDX-License-Identifier: MIT
|
2019-11-09 19:12:39 +01:00
|
|
|
|
|
|
|
#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;
|
|
|
|
|
2021-10-29 21:27:34 +02:00
|
|
|
std::string s(static_cast<std::size_t>(2 * depth), '[');
|
2019-11-09 19:12:39 +01:00
|
|
|
std::fill(s.begin() + depth, s.end(), ']');
|
|
|
|
|
2019-12-16 09:52:41 +01:00
|
|
|
json _;
|
|
|
|
CHECK_NOTHROW(_ = nlohmann::json::parse(s));
|
2019-11-09 19:12:39 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|