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)
llvm-svn: 173292

clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp

index 351eabf..0009e1b 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: