]> granicus.if.org Git - clang/commitdiff
[libclang] Add some checks to make sure the given CXTranslationUnit is not null,...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 4 Apr 2013 22:40:59 +0000 (22:40 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 4 Apr 2013 22:40:59 +0000 (22:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178800 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CIndex.cpp

index 59a7e8d112527323d139dc1a805283ab6c794ed7..a81f1e437d283ac5afb2578da12449ce89ef1dc1 100644 (file)
@@ -2927,6 +2927,9 @@ CXString clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit) {
 }
 
 CXCursor clang_getTranslationUnitCursor(CXTranslationUnit TU) {
+  if (!TU)
+    return clang_getNullCursor();
+
   ASTUnit *CXXUnit = cxtu::getASTUnit(TU);
   return MakeCXCursor(CXXUnit->getASTContext().getTranslationUnitDecl(), TU);
 }
@@ -4914,6 +4917,9 @@ void clang_tokenize(CXTranslationUnit TU, CXSourceRange Range,
   if (NumTokens)
     *NumTokens = 0;
 
+  if (!TU)
+    return;
+
   ASTUnit *CXXUnit = cxtu::getASTUnit(TU);
   if (!CXXUnit || !Tokens || !NumTokens)
     return;
@@ -5610,7 +5616,7 @@ extern "C" {
 void clang_annotateTokens(CXTranslationUnit TU,
                           CXToken *Tokens, unsigned NumTokens,
                           CXCursor *Cursors) {
-  if (NumTokens == 0 || !Tokens || !Cursors) {
+  if (!TU || NumTokens == 0 || !Tokens || !Cursors) {
     LOG_FUNC_SECTION { *Log << "<null input>"; }
     return;
   }