diff options
| author | George Rimar <grimar@accesssoftek.com> | 2016-10-07 08:51:57 +0000 |
|---|---|---|
| committer | George Rimar <grimar@accesssoftek.com> | 2016-10-07 08:51:57 +0000 |
| commit | b7aec331255e7be93652dfad94e817fd8b7be0b8 (patch) | |
| tree | 970bfe15c79ce9a95934faa0e36e61c5797bf9c2 /lld/ELF/InputFiles.cpp | |
| parent | d9edde4ae2cd3e5350c3a981f6715de9f2457196 (diff) | |
| download | bcm5719-llvm-b7aec331255e7be93652dfad94e817fd8b7be0b8.tar.gz bcm5719-llvm-b7aec331255e7be93652dfad94e817fd8b7be0b8.zip | |
[ELF] - Do not crash when unable to parse ELF object file.
createELFObj() may call error(...), for example when file is too short.
In that case header is not set and following line lead to crash:
EMachine = ELFObj.getHeader()->e_machine;
Patch fixes the issue.
Differential revision: https://reviews.llvm.org/D25233
llvm-svn: 283532
Diffstat (limited to 'lld/ELF/InputFiles.cpp')
| -rw-r--r-- | lld/ELF/InputFiles.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index e8f2beed5d0..5b0ce109789 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -57,7 +57,7 @@ template <class ELFT> static ELFFile<ELFT> createELFObj(MemoryBufferRef MB) { std::error_code EC; ELFFile<ELFT> F(MB.getBuffer(), EC); if (EC) - error(EC, "failed to read " + MB.getBufferIdentifier()); + fatal(EC, "failed to read " + MB.getBufferIdentifier()); return F; } |

