Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/bolt
diff options
context:
space:
mode:
authorAmir Ayupov <aaupov@fb.com>2022-03-10 07:24:20 +0300
committerAmir Ayupov <aaupov@fb.com>2022-03-10 07:24:44 +0300
commitd16bbc5340a4d16f8b63b265f46d9a5946e8cc00 (patch)
tree3b15ab782428e71cd0160fff23a6f2debab5f395 /bolt
parent83b8878fbb0ede596bd85400e921422e45376016 (diff)
[BOLT][NFC] Check errors from Obj.dynamicEntries
Addresses fuzzer crash Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D121336
Diffstat (limited to 'bolt')
-rw-r--r--bolt/lib/Rewrite/RewriteInstance.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp
index 1c5d52b227e6..ea2cee1b01b0 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -5135,8 +5135,10 @@ Error RewriteInstance::readELFDynamic(ELFObjectFile<ELFT> *File) {
"dynamic section sizes should match");
// Go through all dynamic entries to locate entries of interest.
- typename ELFT::DynRange DynamicEntries =
- cantFail(Obj.dynamicEntries(), "error accessing dynamic table");
+ auto DynamicEntriesOrErr = Obj.dynamicEntries();
+ if (!DynamicEntriesOrErr)
+ return DynamicEntriesOrErr.takeError();
+ typename ELFT::DynRange DynamicEntries = DynamicEntriesOrErr.get();
for (const Elf_Dyn &Dyn : DynamicEntries) {
switch (Dyn.d_tag) {