@@ -846,17 +846,18 @@ void CpuProfileJSONSerializer::SerializePositionTicks(
846846
847847void CpuProfileJSONSerializer::SerializeCallFrame (
848848 const v8::CpuProfileNode* node) {
849- writer_->AddString (" \" functionName\" :\" " );
850- writer_->AddString (node->GetFunctionNameStr ());
851- writer_->AddString (" \" ,\" lineNumber\" :" );
849+ writer_->AddString (" \" functionName\" :" );
850+ writer_->AddJsonEscapedString (
851+ reinterpret_cast <const unsigned char *>(node->GetFunctionNameStr ()));
852+ writer_->AddString (" ,\" lineNumber\" :" );
852853 writer_->AddNumber (node->GetLineNumber () - 1 );
853854 writer_->AddString (" ,\" columnNumber\" :" );
854855 writer_->AddNumber (node->GetColumnNumber () - 1 );
855856 writer_->AddString (" ,\" scriptId\" :" );
856857 writer_->AddNumber (node->GetScriptId ());
857- writer_->AddString (" ,\" url\" :\" " );
858- writer_->AddString (node-> GetScriptResourceNameStr ());
859- writer_-> AddCharacter ( ' " ' );
858+ writer_->AddString (" ,\" url\" :" );
859+ writer_->AddJsonEscapedString (
860+ reinterpret_cast < const unsigned char *>(node-> GetScriptResourceNameStr ()) );
860861}
861862
862863void CpuProfileJSONSerializer::SerializeChildren (const v8::CpuProfileNode* node,
@@ -888,9 +889,9 @@ void CpuProfileJSONSerializer::SerializeNode(const v8::CpuProfileNode* node) {
888889
889890 const char * deoptReason = node->GetBailoutReason ();
890891 if (deoptReason && deoptReason[0 ] && strcmp (deoptReason, " no reason" )) {
891- writer_->AddString (" ,\" deoptReason\" :\" " );
892- writer_->AddString (deoptReason);
893- writer_-> AddCharacter ( ' " ' );
892+ writer_->AddString (" ,\" deoptReason\" :" );
893+ writer_->AddJsonEscapedString (
894+ reinterpret_cast < const unsigned char *>(deoptReason) );
894895 }
895896
896897 unsigned lineCount = node->GetHitLineCount ();
0 commit comments