summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra')
-rw-r--r--clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp b/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp
index 332122267fc..1b1c00b6435 100644
--- a/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp
+++ b/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp
@@ -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(uint8_t *data, size_t size) {
// 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;
}
OpenPOWER on IntegriCloud