[clang-tools-extra] r334315 - [clangd] Fix fuzzer after r333993

Sam McCall via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 8 13:25:05 PDT 2018


Author: sammccall
Date: Fri Jun  8 13:25:05 2018
New Revision: 334315

URL: http://llvm.org/viewvc/llvm-project?rev=334315&view=rev
Log:
[clangd] Fix fuzzer after r333993

Modified:
    clang-tools-extra/trunk/clangd/fuzzer/ClangdFuzzer.cpp

Modified: clang-tools-extra/trunk/clangd/fuzzer/ClangdFuzzer.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/fuzzer/ClangdFuzzer.cpp?rev=334315&r1=334314&r2=334315&view=diff
==============================================================================
--- clang-tools-extra/trunk/clangd/fuzzer/ClangdFuzzer.cpp (original)
+++ clang-tools-extra/trunk/clangd/fuzzer/ClangdFuzzer.cpp Fri Jun  8 13:25:05 2018
@@ -17,6 +17,7 @@
 #include "ClangdServer.h"
 #include "CodeComplete.h"
 #include <sstream>
+#include <stdio.h>
 
 extern "C" int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
   clang::clangd::JSONOutput Out(llvm::nulls(), llvm::nulls(), nullptr);
@@ -26,8 +27,7 @@ extern "C" int LLVMFuzzerTestOneInput(ui
 
   // Initialize and run ClangdLSPServer.
   clang::clangd::ClangdLSPServer LSPServer(Out, CCOpts, llvm::None, Opts);
-
-  std::istringstream In(std::string(reinterpret_cast<char *>(data), size));
-  LSPServer.run(In);
+  // fmemopen isn't portable, but I think we only run the fuzzer on Linux.
+  LSPServer.run(fmemopen(data, size, "r"));
   return 0;
 }




More information about the cfe-commits mailing list