Fixes #1122 where json_spirit could stack overflow because there
was no maximum limit set on the number of nested compound elements.
This commit is contained in:
17
src/gtest/test_jsonspirit.cpp
Normal file
17
src/gtest/test_jsonspirit.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "json/json_spirit_reader_template.h"
|
||||
|
||||
using namespace json_spirit;
|
||||
|
||||
// This test checks if we have fixed a stack overflow problem with json_spirit.
|
||||
// It was possible to try and create an unlimited number of nested compound elements.
|
||||
// Without the fix in json_spirit_reader_template.h, this test will segfault.
|
||||
TEST(json_spirit_tests, nested_input_segfault) {
|
||||
std::vector<char> v (100000);
|
||||
std::fill (v.begin(),v.end(), '[');
|
||||
std::string s(v.begin(), v.end());
|
||||
Value value;
|
||||
bool b = json_spirit::read_string(s, value);
|
||||
ASSERT_FALSE(b);
|
||||
}
|
||||
Reference in New Issue
Block a user