[llvm] r271143 - [COFFDumper] Make sure there is sufficient padding left in the checksum

David Majnemer via llvm-commits llvm-commits at lists.llvm.org
Sat May 28 12:45:58 PDT 2016


Author: majnemer
Date: Sat May 28 14:45:58 2016
New Revision: 271143

URL: http://llvm.org/viewvc/llvm-project?rev=271143&view=rev
Log:
[COFFDumper] Make sure there is sufficient padding left in the checksum

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=271143&r1=271142&r2=271143&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-readobj/COFFDumper.cpp (original)
+++ llvm/trunk/tools/llvm-readobj/COFFDumper.cpp Sat May 28 14:45:58 2016
@@ -940,6 +940,8 @@ void COFFDumper::printCodeViewFileChecks
     W.printBinary("ChecksumBytes", ChecksumBytes);
     unsigned PaddedSize = alignTo(FC->ChecksumSize + sizeof(FileChecksum), 4) -
                           sizeof(FileChecksum);
+    if (PaddedSize > Data.size())
+      error(object_error::parse_failed);
     Data = Data.drop_front(PaddedSize);
   }
 }




More information about the llvm-commits mailing list