[clang-tools-extra] r323652 - [clangd] Fixed null deference on invalid compile commands.
Ilya Biryukov via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 29 06:30:28 PST 2018
Author: ibiryukov
Date: Mon Jan 29 06:30:28 2018
New Revision: 323652
URL: http://llvm.org/viewvc/llvm-project?rev=323652&view=rev
Log:
[clangd] Fixed null deference on invalid compile commands.
Code building the AST expected that construction of CompilerInstance
always succeeds. This is not the case.
Modified:
clang-tools-extra/trunk/clangd/ClangdUnit.cpp
Modified: clang-tools-extra/trunk/clangd/ClangdUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/ClangdUnit.cpp?rev=323652&r1=323651&r2=323652&view=diff
==============================================================================
--- clang-tools-extra/trunk/clangd/ClangdUnit.cpp (original)
+++ clang-tools-extra/trunk/clangd/ClangdUnit.cpp Mon Jan 29 06:30:28 2018
@@ -244,6 +244,8 @@ ParsedAST::Build(const Context &Ctx,
auto Clang = prepareCompilerInstance(
std::move(CI), PreamblePCH, std::move(Buffer), std::move(PCHs),
std::move(VFS), /*ref*/ UnitDiagsConsumer);
+ if (!Clang)
+ return llvm::None;
// Recover resources if we crash before exiting this method.
llvm::CrashRecoveryContextCleanupRegistrar<CompilerInstance> CICleanup(
More information about the cfe-commits
mailing list