[clangd] Fix null check in FindTarget.
authorSam McCall <sam.mccall@gmail.com>
Wed, 29 Jan 2020 01:01:42 +0000 (02:01 +0100)
committerSam McCall <sam.mccall@gmail.com>
Wed, 29 Jan 2020 01:01:42 +0000 (02:01 +0100)
I've hit this stack trace a few times but don't have a good reproducer.
The code is unsafe by inspection, though.

clang-tools-extra/clangd/FindTarget.cpp

index 2392586..13e4819 100644 (file)
@@ -231,7 +231,7 @@ public:
   }
 
   void add(const Decl *Dcl, RelSet Flags) {
-    const NamedDecl *D = llvm::dyn_cast<NamedDecl>(Dcl);
+    const NamedDecl *D = llvm::dyn_cast_or_null<NamedDecl>(Dcl);
     if (!D)
       return;
     debug(*D, Flags);