mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-10 18:11:19 +00:00
Fix a crasher in
DynamicLoaderDarwinKernel::OSKextLoadedKextSummary::LoadImageUsingMemoryModule where it assumed that a kernel had been found in memory, when that may not be the case when we're attaching to a device early in the boot process. <rdar://problem/12638140> llvm-svn: 167564
This commit is contained in:
parent
1cb5951a2f
commit
c56bd08373
@ -264,7 +264,8 @@ DynamicLoaderDarwinKernel::OSKextLoadedKextSummary::LoadImageUsingMemoryModule (
|
|||||||
uuid = memory_module_sp->GetUUID();
|
uuid = memory_module_sp->GetUUID();
|
||||||
uuid_is_valid = uuid.IsValid();
|
uuid_is_valid = uuid.IsValid();
|
||||||
}
|
}
|
||||||
if (memory_module_sp->GetObjectFile()
|
if (memory_module_sp
|
||||||
|
&& memory_module_sp->GetObjectFile()
|
||||||
&& memory_module_sp->GetObjectFile()->GetType() == ObjectFile::eTypeExecutable
|
&& memory_module_sp->GetObjectFile()->GetType() == ObjectFile::eTypeExecutable
|
||||||
&& memory_module_sp->GetObjectFile()->GetStrata() == ObjectFile::eStrataKernel)
|
&& memory_module_sp->GetObjectFile()->GetStrata() == ObjectFile::eStrataKernel)
|
||||||
{
|
{
|
||||||
|
@ -804,8 +804,8 @@ DWARFDebugLine::ParseStatementTable
|
|||||||
// field in the header, plus the value of the line_range field,
|
// field in the header, plus the value of the line_range field,
|
||||||
// minus 1 (line base + line range - 1). If the desired line
|
// minus 1 (line base + line range - 1). If the desired line
|
||||||
// increment is greater than the maximum line increment, a standard
|
// increment is greater than the maximum line increment, a standard
|
||||||
// opcode must be used instead of a special opcode. The “address
|
// opcode must be used instead of a special opcode. The "address
|
||||||
// advance” is calculated by dividing the desired address increment
|
// advance" is calculated by dividing the desired address increment
|
||||||
// by the minimum_instruction_length field from the header. The
|
// by the minimum_instruction_length field from the header. The
|
||||||
// special opcode is then calculated using the following formula:
|
// special opcode is then calculated using the following formula:
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user