summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/COFFDumper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-readobj/COFFDumper.cpp')
-rw-r--r--llvm/tools/llvm-readobj/COFFDumper.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp
index 6fc57e83e9c..a216a05e96f 100644
--- a/llvm/tools/llvm-readobj/COFFDumper.cpp
+++ b/llvm/tools/llvm-readobj/COFFDumper.cpp
@@ -687,7 +687,10 @@ void COFFDumper::initializeFileAndStringTables(StringRef Data) {
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);
}
}
OpenPOWER on IntegriCloud