diff options
author | Amir Ayupov <aaupov@fb.com> | 2022-03-10 07:24:20 +0300 |
---|---|---|
committer | Amir Ayupov <aaupov@fb.com> | 2022-03-10 07:24:44 +0300 |
commit | d16bbc5340a4d16f8b63b265f46d9a5946e8cc00 (patch) | |
tree | 3b15ab782428e71cd0160fff23a6f2debab5f395 /bolt | |
parent | 83b8878fbb0ede596bd85400e921422e45376016 (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.cpp | 6 |
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) { |