diff options
| author | Jordan Rupprecht <rupprecht@google.com> | 2019-08-12 14:05:37 +0000 |
|---|---|---|
| committer | Jordan Rupprecht <rupprecht@google.com> | 2019-08-12 14:05:37 +0000 |
| commit | f927b34a148b27b24f37f062d5a0620b76430ade (patch) | |
| tree | b1f695448bcdb0d9942efa235d69ed2e2f8f53bd /llvm/tools/llvm-readobj/ELFDumper.cpp | |
| parent | 9a452740ec89f856492841af3f9c616f5be96c7c (diff) | |
| download | bcm5719-llvm-f927b34a148b27b24f37f062d5a0620b76430ade.tar.gz bcm5719-llvm-f927b34a148b27b24f37f062d5a0620b76430ade.zip | |
[llvm-readobj] Downgrade 'PT_DYNAMIC segment offset + size exceeds the size of the file' from an error to a warning
Summary: This allows llvm-readobj to print other useful information for truncated files instead of giving up.
Reviewers: jhenderson, grimar, MaskRay
Reviewed By: jhenderson, grimar, MaskRay
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66036
llvm-svn: 368576
Diffstat (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp')
| -rw-r--r-- | llvm/tools/llvm-readobj/ELFDumper.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index afff087b766..78216ef4f62 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -1439,9 +1439,11 @@ void ELFDumper<ELFT>::loadDynamicTable(const ELFFile<ELFT> *Obj) { return; if (DynamicPhdr->p_offset + DynamicPhdr->p_filesz > - ObjF->getMemoryBufferRef().getBufferSize()) - reportError( + ObjF->getMemoryBufferRef().getBufferSize()) { + reportWarning( "PT_DYNAMIC segment offset + size exceeds the size of the file"); + return; + } if (!DynamicSec) { DynamicTable = createDRIFrom(DynamicPhdr, sizeof(Elf_Dyn)); |

