From c144f2f43899da5d8941cfc55af25fcda51b05e1 Mon Sep 17 00:00:00 2001 From: 66hh <49398720+66hh@users.noreply.github.com> Date: Tue, 30 Dec 2025 17:05:08 +0800 Subject: [PATCH] Adjust memory allocation method --- src/windows-emulator/syscalls/memory.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/windows-emulator/syscalls/memory.cpp b/src/windows-emulator/syscalls/memory.cpp index ee1b5460..705c2efd 100644 --- a/src/windows-emulator/syscalls/memory.cpp +++ b/src/windows-emulator/syscalls/memory.cpp @@ -299,20 +299,18 @@ namespace syscalls return STATUS_NOT_SUPPORTED; } - uint8_t* memory = new uint8_t[number_of_bytes_to_read]; + std::vector 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 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; }