From 7121fbd2cbbf8f1a60f753a617e13168d189fd7d Mon Sep 17 00:00:00 2001 From: Sundaresan Rajangam Date: Fri, 4 Mar 2016 14:16:44 -0800 Subject: [PATCH] Check for parse error before using the json document For stats query, the json document needs to be checked for parse error before iterating the document. Change-Id: I589b4f7da9eb11fd3489d3d1e5ca39a85d5b9cca Partial-Bug: #1548891 (cherry picked from commit 4107e5137cb4c11b6625ff9ab4b55d2ea93a515b) --- src/query_engine/select.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/query_engine/select.cc b/src/query_engine/select.cc index e538589514d..e6b0c43fa62 100644 --- a/src/query_engine/select.cc +++ b/src/query_engine/select.cc @@ -443,7 +443,12 @@ query_status_t SelectQuery::process_query() { //uint64_t thenj = UTCTimestampUsec(); rapidjson::Document d; - d.Parse<0>(const_cast(json_string.c_str())); + if (d.Parse<0>(const_cast( + json_string.c_str())).HasParseError()) { + QE_LOG(ERROR, "Error parsing json document: " << + d.GetParseError() << " - " << json_string); + continue; + } //jsont += UTCTimestampUsec() - thenj; std::vector attribs;