[llvm] r271147 - [COFFDumper] Validate that the next offset is not too large

David Majnemer via llvm-commits llvm-commits at lists.llvm.org
Sat May 28 13:04:50 PDT 2016


Author: majnemer
Date: Sat May 28 15:04:50 2016
New Revision: 271147

URL: http://llvm.org/viewvc/llvm-project?rev=271147&view=rev
Log:
[COFFDumper] Validate that the next offset is not too large

Modified:
    llvm/trunk/tools/llvm-readobj/COFFDumper.cpp

Modified: llvm/trunk/tools/llvm-readobj/COFFDumper.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-readobj/COFFDumper.cpp?rev=271147&r1=271146&r2=271147&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-readobj/COFFDumper.cpp (original)
+++ llvm/trunk/tools/llvm-readobj/COFFDumper.cpp Sat May 28 15:04:50 2016
@@ -736,6 +736,8 @@ void COFFDumper::printCodeViewSymbolSect
     size_t SectionOffset = Data.data() - SectionContents.data();
     size_t NextOffset = SectionOffset + SubSectionSize;
     NextOffset = alignTo(NextOffset, 4);
+    if (NextOffset > SectionContents.size())
+      return error(object_error::parse_failed);
     Data = SectionContents.drop_front(NextOffset);
 
     // Optionally print the subsection bytes in case our parsing gets confused




More information about the llvm-commits mailing list