[clang] [Clang] Prevent potential null pointer dereferences (PR #117176)

Doug Wyatt via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 21 16:05:41 PST 2024


================
@@ -627,7 +627,7 @@ class Analyzer {
           IsNoexcept = isNoexcept(FD);
         } else if (auto *BD = dyn_cast<BlockDecl>(D)) {
           if (auto *TSI = BD->getSignatureAsWritten()) {
-            auto *FPT = TSI->getType()->getAs<FunctionProtoType>();
+            auto *FPT = TSI->getType()->castAs<FunctionProtoType>();
----------------
dougsonos wrote:

I'm mobile and away from code until Monday, but IIRC effects are stored as trailing objects on FunctionProtoType and we simply don't allow them on prototype-less functions. I think there's a custom diagnostic if the user tries. The test is in something like Sema/attr-nonblocking-syntax.c.

https://github.com/llvm/llvm-project/pull/117176


More information about the cfe-commits mailing list