[CPU] Check for RawModule memory allocation success
This commit is contained in:
parent
02b5a07bc9
commit
7818cdab60
|
@ -33,15 +33,18 @@ bool RawModule::LoadFile(uint32_t base_address, const std::wstring& path) {
|
|||
// Allocate memory.
|
||||
// Since we have no real heap just load it wherever.
|
||||
base_address_ = base_address;
|
||||
memory_->LookupHeap(base_address_)
|
||||
->AllocFixed(base_address_, file_length, 0,
|
||||
kMemoryAllocationReserve | kMemoryAllocationCommit,
|
||||
kMemoryProtectRead | kMemoryProtectWrite);
|
||||
auto heap = memory_->LookupHeap(base_address_);
|
||||
if (!heap ||
|
||||
!heap->AllocFixed(base_address_, file_length, 0,
|
||||
kMemoryAllocationReserve | kMemoryAllocationCommit,
|
||||
kMemoryProtectRead | kMemoryProtectWrite)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
uint8_t* p = memory_->TranslateVirtual(base_address_);
|
||||
|
||||
// Read into memory.
|
||||
fread(p, file_length, 1, file);
|
||||
|
||||
fclose(file);
|
||||
|
||||
// Setup debug info.
|
||||
|
|
Loading…
Reference in New Issue