From 39afcafe1c0f66db67648b5230b700659448432c Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Thu, 5 Jan 2012 00:19:03 +0000 Subject: [PATCH] Sanity checks in SourceManager::getFileEntryForID() and SourceManager::getFileEntryForSLocEntry() to make sure we do not crash. rdar://10594186 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147576 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/SourceManager.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h index 375aea0ee9..d08d5368d1 100644 --- a/include/clang/Basic/SourceManager.h +++ b/include/clang/Basic/SourceManager.h @@ -750,13 +750,19 @@ public: if (MyInvalid || !Entry.isFile()) return 0; - return Entry.getFile().getContentCache()->OrigEntry; + const SrcMgr::ContentCache *Content = Entry.getFile().getContentCache(); + if (!Content) + return 0; + return Content->OrigEntry; } /// Returns the FileEntry record for the provided SLocEntry. const FileEntry *getFileEntryForSLocEntry(const SrcMgr::SLocEntry &sloc) const { - return sloc.getFile().getContentCache()->OrigEntry; + const SrcMgr::ContentCache *Content = sloc.getFile().getContentCache(); + if (!Content) + return 0; + return Content->OrigEntry; } /// getBufferData - Return a StringRef to the source buffer data for the -- 2.40.0