Adjust memory allocation method

This commit is contained in:
66hh
2025-12-30 17:05:08 +08:00
parent 536f2ce883
commit c144f2f438

View File

@@ -299,20 +299,18 @@ namespace syscalls
return STATUS_NOT_SUPPORTED;
}
uint8_t* memory = new uint8_t[number_of_bytes_to_read];
std::vector<uint8_t> memory(number_of_bytes_to_read, 0);
if (!c.emu.try_read_memory(base_address, memory, number_of_bytes_to_read))
if (!c.emu.try_read_memory(base_address, memory.data(), number_of_bytes_to_read))
{
return STATUS_INVALID_ADDRESS;
}
if (!c.emu.try_write_memory(buffer, memory, number_of_bytes_to_read))
if (!c.emu.try_write_memory(buffer, memory.data(), number_of_bytes_to_read))
{
return STATUS_INVALID_ADDRESS;
}
delete[] memory;
number_of_bytes_read.try_write(number_of_bytes_to_read);
return STATUS_SUCCESS;
}
@@ -328,20 +326,18 @@ namespace syscalls
return STATUS_NOT_SUPPORTED;
}
uint8_t* memory = new uint8_t[number_of_bytes_to_write];
std::vector<uint8_t> memory(number_of_bytes_to_write, 0);
if (!c.emu.try_read_memory(buffer, memory, number_of_bytes_to_write))
if (!c.emu.try_read_memory(buffer, memory.data(), number_of_bytes_to_write))
{
return STATUS_INVALID_ADDRESS;
}
if (!c.emu.try_write_memory(base_address, memory, number_of_bytes_to_write))
if (!c.emu.try_write_memory(base_address, memory.data(), number_of_bytes_to_write))
{
return STATUS_INVALID_ADDRESS;
}
delete[] memory;
number_of_bytes_write.try_write(number_of_bytes_to_write);
return STATUS_SUCCESS;
}