From 12aa87544250bd3f146cd4342689d0762d1dad54 Mon Sep 17 00:00:00 2001 From: Noah Santschi-Cooney Date: Wed, 18 Nov 2020 21:24:19 +0000 Subject: [PATCH] Added check for invalid utf8 doc string and cleaning --- src/index/LSIFSerialization.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/index/LSIFSerialization.cpp b/src/index/LSIFSerialization.cpp index 6ff6774de9..57d8a0a6a1 100644 --- a/src/index/LSIFSerialization.cpp +++ b/src/index/LSIFSerialization.cpp @@ -254,8 +254,13 @@ void writeHoverResult(LSIFMeta &Meta, const clang::clangd::Symbol &Sym, JSONOut.attribute("value", OHover.str()); }); - if (Sym.Documentation.data() && !Sym.Documentation.empty()) - JSONOut.value(Sym.Documentation); + if (Sym.Documentation.data() && !Sym.Documentation.empty()) { + auto docString = Sym.Documentation; + if(!llvm::json::isUTF8(docString)) { + docString = llvm::StringRef(llvm::json::fixUTF8(Sym.Documentation)); + } + JSONOut.value(docString); + } }); }); });