]> granicus.if.org Git - clang/commitdiff
Add bounds check in PCHReader. when reading source file entry record
authorTed Kremenek <kremenek@apple.com>
Thu, 18 Mar 2010 21:23:05 +0000 (21:23 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 18 Mar 2010 21:23:05 +0000 (21:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98873 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/PCHReader.cpp

index 63146a2ee7682f68083a54ca777fdfacb84de391..36cddd32e5cf1f5213cc1b3ad824f341b0072d66 100644 (file)
@@ -902,6 +902,11 @@ PCHReader::PCHReadResult PCHReader::ReadSLocEntryRecord(unsigned ID) {
       return Failure;
     }
 
+    if (Record.size() < 8) {
+      Error("source location entry is incorrect");
+      return Failure;
+    }
+
     FileID FID = SourceMgr.createFileID(File,
                                 SourceLocation::getFromRawEncoding(Record[1]),
                                        (SrcMgr::CharacteristicKind)Record[2],