]> granicus.if.org Git - clang/commitdiff
[PCH] Add a null check to avoid crashing.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 10 Sep 2012 23:28:22 +0000 (23:28 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 10 Sep 2012 23:28:22 +0000 (23:28 +0000)
Unfortunately, no test case. rdar://11960120

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163566 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Serialization/ASTReaderDecl.cpp

index ba830d172cc06c660f74351095ef4a62d6978eef..7aac2ac3ed860f0a56c796b984014d6e9c0be2f9 100644 (file)
@@ -590,8 +590,10 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) {
                                                   TemplArgs.size(), C);
       void *InsertPos = 0;
       CanonTemplate->getSpecializations().FindNodeOrInsertPos(ID, InsertPos);
-      assert(InsertPos && "Another specialization already inserted!");
-      CanonTemplate->getSpecializations().InsertNode(FTInfo, InsertPos);
+      if (InsertPos)
+        CanonTemplate->getSpecializations().InsertNode(FTInfo, InsertPos);
+      else
+        assert(0 && "Another specialization already inserted!");
     }
     break;
   }