]> granicus.if.org Git - clang/commitdiff
Add missing null check. Not sure why my tests passed before.
authorTed Kremenek <kremenek@apple.com>
Wed, 23 Jan 2013 21:12:49 +0000 (21:12 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 23 Jan 2013 21:12:49 +0000 (21:12 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173292 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp

index 351eabf8df31fa174d515c4284c5228fe0af5c14..0009e1b7cf492f4f5648b380c0d709e8f771e30b 100644 (file)
@@ -102,10 +102,12 @@ static bool END_WITH_NULL isMultiArgSelector(const Selector *Sel, ...) {
 void NoReturnFunctionChecker::checkPostObjCMessage(const ObjCMethodCall &Msg,
                                                    CheckerContext &C) const {
   // Check if the method is annotated with analyzer_noreturn.
-  const ObjCMethodDecl *MD = Msg.getDecl()->getCanonicalDecl();
-  if (MD->hasAttr<AnalyzerNoReturnAttr>()) {
-    C.generateSink();
-    return;
+  if (const ObjCMethodDecl *MD = Msg.getDecl()) {
+    MD = MD->getCanonicalDecl();
+    if (MD->hasAttr<AnalyzerNoReturnAttr>()) {
+      C.generateSink();
+      return;
+    }
   }
 
   // HACK: This entire check is to handle two messages in the Cocoa frameworks: