forked from OSchip/llvm-project
Avoid crashing on invalid or unreadable ELF core
Issue discovered during the GSoC 2014 project implementing FreeBSD kernel support. The existing elf-core Process plugin crashed trying to read from /dev/mem (the kernel memory device). Patch by Mike Ma. llvm-svn: 211102
This commit is contained in:
parent
dee4ab08ba
commit
2e940a11e7
|
@ -63,7 +63,8 @@ ProcessElfCore::CreateInstance (Target &target, Listener &listener, const FileSp
|
|||
const size_t header_size = sizeof(llvm::ELF::Elf64_Ehdr);
|
||||
|
||||
lldb::DataBufferSP data_sp (crash_file->ReadFileContents(0, header_size));
|
||||
if (data_sp->GetByteSize() == header_size && elf::ELFHeader::MagicBytesMatch (data_sp->GetBytes()))
|
||||
if (data_sp && data_sp->GetByteSize() == header_size &&
|
||||
elf::ELFHeader::MagicBytesMatch (data_sp->GetBytes()))
|
||||
{
|
||||
elf::ELFHeader elf_header;
|
||||
DataExtractor data(data_sp, lldb::eByteOrderLittle, 4);
|
||||
|
|
Loading…
Reference in New Issue