]> granicus.if.org Git - clang/commitdiff
[libclang] Protect against the declaration's SourceRange being invalid
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 28 Nov 2011 22:38:07 +0000 (22:38 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 28 Nov 2011 22:38:07 +0000 (22:38 +0000)
before passing to RangeCompare.

Though no idea how this can occur with the decls returned from
findFileRegionDecls().

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

tools/libclang/CIndex.cpp

index 4fda8bc3136ecc0eb386fa2a8b55ea0fc9a6bce3..72abfa76eae62d4c09c2a29b218c89d08faa338a 100644 (file)
@@ -286,6 +286,8 @@ void CursorVisitor::visitDeclsFromFileRegion(FileID File,
   SmallVector<Decl *, 16>::iterator DIt = Decls.begin();
   for (SmallVector<Decl *, 16>::iterator DE = Decls.end(); DIt != DE; ++DIt) {
     Decl *D = *DIt;
+    if (D->getSourceRange().isInvalid())
+      continue;
 
     if (isInLexicalContext(D, CurDC))
       continue;