[llvm-readobj] Re-add sanity checking which was accidentally removed in r241764

llvm-svn: 241831
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp
index ccb542e..cf897d7 100644
--- a/llvm/tools/llvm-readobj/COFFDumper.cpp
+++ b/llvm/tools/llvm-readobj/COFFDumper.cpp
@@ -597,8 +597,15 @@
       // in the line table.  The filename string is accessed using double
       // indirection to the string table subsection using the index subsection.
       uint32_t OffsetInIndex = DE.getU32(&Offset),
-               SegmentLength = DE.getU32(&Offset);
-      Offset += sizeof(uint32_t); // Skip FullSegmentSize
+               SegmentLength = DE.getU32(&Offset),
+               FullSegmentSize = DE.getU32(&Offset);
+
+      if (FullSegmentSize !=
+          12 + 8 * SegmentLength +
+              (HasColumnInformation ? 4 * SegmentLength : 0)) {
+        error(object_error::parse_failed);
+        return;
+      }
 
       uint32_t FilenameOffset;
       {