Avoid memory error

But simply use `.assign()` instead of the extra copy. (See comment from
@BillyDonhue at #580.)

fixes #578
closes #580
This commit is contained in:
Christopher Dunn 2017-08-27 13:47:32 -05:00
parent 9006194139
commit 004270db37

View File

@ -103,8 +103,7 @@ Reader::Reader(const Features& features)
bool
Reader::parse(const std::string& document, Value& root, bool collectComments) {
JSONCPP_STRING documentCopy(document.data(), document.data() + document.length());
std::swap(documentCopy, document_);
document_.assign(document.begin(), document.end());
const char* begin = document_.c_str();
const char* end = begin + document_.length();
return parse(begin, end, root, collectComments);