[COFFDumper] Make sure there is sufficient padding left in the string table
llvm-svn: 271146
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp
index 6fc57e8..a216a05 100644
--- a/llvm/tools/llvm-readobj/COFFDumper.cpp
+++ b/llvm/tools/llvm-readobj/COFFDumper.cpp
@@ -687,7 +687,10 @@
default:
break;
}
- Data = Data.drop_front(alignTo(SubSectionSize, 4));
+ uint32_t PaddedSize = alignTo(SubSectionSize, 4);
+ if (PaddedSize > Data.size())
+ error(object_error::parse_failed);
+ Data = Data.drop_front(PaddedSize);
}
}