llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clangd

Author: Zahira Ammarguellat (zahiraam)

<details>
<summary>Changes</summary>

This is a find from static analysis tool complaining about potential 
dereference of `nullptr` for `RD`.

---
Full diff: https://github.com/llvm/llvm-project/pull/159566.diff


1 Files Affected:

- (modified) clang-tools-extra/clangd/AST.cpp (+5-2) 


``````````diff
diff --git a/clang-tools-extra/clangd/AST.cpp b/clang-tools-extra/clangd/AST.cpp
index 2f46ecc92576c..55055cd3f8f11 100644
--- a/clang-tools-extra/clangd/AST.cpp
+++ b/clang-tools-extra/clangd/AST.cpp
@@ -145,8 +145,11 @@ std::string getQualification(ASTContext &Context,
   for (const auto *CurD : llvm::reverse(Parents)) {
     if (auto *TD = llvm::dyn_cast<TagDecl>(CurD)) {
       QualType T;
-      if (const auto *RD = dyn_cast<CXXRecordDecl>(TD);
-          ClassTemplateDecl *CTD = RD->getDescribedClassTemplate()) {
+      const auto *RD = dyn_cast<CXXRecordDecl>(TD);
+      ClassTemplateDecl *CTD = nullptr;
+      if (RD)
+        CTD = RD->getDescribedClassTemplate();
+      if (RD && CTD) {
         ArrayRef<TemplateArgument> Args;
         if (const auto *SD = dyn_cast<ClassTemplateSpecializationDecl>(RD))
           Args = SD->getTemplateArgs().asArray();

``````````

</details>


https://github.com/llvm/llvm-project/pull/159566
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to