From 9b13eacdf16f398866cf8da91bbfe28287e8ba5a Mon Sep 17 00:00:00 2001 From: Sergey Kosarevsky Date: Mon, 29 Feb 2016 17:40:43 +0100 Subject: [PATCH] Add 0-character during in-situ numbers-as-strings parsing --- include/rapidjson/reader.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/rapidjson/reader.h b/include/rapidjson/reader.h index c1ef26f..352dbd8 100644 --- a/include/rapidjson/reader.h +++ b/include/rapidjson/reader.h @@ -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(head); cont = handler.RawNumber(str, SizeType(length), false); }