diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-11-03 18:05:33 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-11-03 18:05:33 +0000 |
| commit | ed1395a7921957103c22afb391522765c8e2cae2 (patch) | |
| tree | 4df8de4266ab17a25c2ae8a72586d78113de3443 /llvm/tools/obj2yaml/elf2yaml.cpp | |
| parent | a667ace90c22ecee67ce95fd21ffe66fb514a17f (diff) | |
| download | bcm5719-llvm-ed1395a7921957103c22afb391522765c8e2cae2.tar.gz bcm5719-llvm-ed1395a7921957103c22afb391522765c8e2cae2.zip | |
Add error handling to getEntry.
Issue found by inspection.
llvm-svn: 285951
Diffstat (limited to 'llvm/tools/obj2yaml/elf2yaml.cpp')
| -rw-r--r-- | llvm/tools/obj2yaml/elf2yaml.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/tools/obj2yaml/elf2yaml.cpp b/llvm/tools/obj2yaml/elf2yaml.cpp index 8da8aa10c11..dbb8c7d436b 100644 --- a/llvm/tools/obj2yaml/elf2yaml.cpp +++ b/llvm/tools/obj2yaml/elf2yaml.cpp @@ -216,7 +216,10 @@ std::error_code ELFDumper<ELFT>::dumpRelocation(const RelT *Rel, R.Offset = Rel->r_offset; R.Addend = 0; - const Elf_Sym *Sym = Obj.getRelocationSymbol(Rel, SymTab); + auto SymOrErr = Obj.getRelocationSymbol(Rel, SymTab); + if (std::error_code EC = SymOrErr.getError()) + return EC; + const Elf_Sym *Sym = *SymOrErr; ErrorOr<const Elf_Shdr *> StrTabSec = Obj.getSection(SymTab->sh_link); if (std::error_code EC = StrTabSec.getError()) return EC; |

