Add 0-character during in-situ numbers-as-strings parsing

This commit is contained in:
Sergey Kosarevsky 2016-02-29 17:40:43 +01:00
parent f83b2c09e8
commit 9b13eacdf1

View File

@ -1290,9 +1290,10 @@ private:
if (parseFlags & kParseInsituFlag) {
s.Pop(); // Pop stack no matter if it will be used or not.
typename InputStream::Ch *head = is.PutBegin();
typename InputStream::Ch* head = is.PutBegin();
const size_t length = s.Tell() - startOffset;
RAPIDJSON_ASSERT(length <= 0xFFFFFFFF);
*(head + length) = '\0';
const typename TargetEncoding::Ch* const str = reinterpret_cast<typename TargetEncoding::Ch*>(head);
cont = handler.RawNumber(str, SizeType(length), false);
}