summaryrefslogtreecommitdiff
path: root/src/core/loader/kip.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-01-18 03:03:48 -0500
committerGitHub <noreply@github.com>2020-01-18 03:03:48 -0500
commit278264b9e584d197ef4fcc15051190149e243a95 (patch)
tree9ac5f757fb4dbb26272c2b169e0a33bc6164d4e9 /src/core/loader/kip.cpp
parent9bf4850f7492bf9370acedb6135a79b944eb942f (diff)
parent56672b8c9809d8f5585d208f5b85549bc3fe2a0e (diff)
Merge pull request #3314 from degasus/physical_mem
core/hle/kernel: Simplify PhysicalMemory usages.
Diffstat (limited to 'src/core/loader/kip.cpp')
-rw-r--r--src/core/loader/kip.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/loader/kip.cpp b/src/core/loader/kip.cpp
index 474b55cb1..092103abe 100644
--- a/src/core/loader/kip.cpp
+++ b/src/core/loader/kip.cpp
@@ -2,6 +2,7 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
+#include <cstring>
#include "core/file_sys/kernel_executable.h"
#include "core/file_sys/program_metadata.h"
#include "core/gdbstub/gdbstub.h"
@@ -76,8 +77,8 @@ AppLoader::LoadResult AppLoader_KIP::Load(Kernel::Process& process) {
segment.addr = offset;
segment.offset = offset;
segment.size = PageAlignSize(static_cast<u32>(data.size()));
- program_image.resize(offset);
- program_image.insert(program_image.end(), data.begin(), data.end());
+ program_image.resize(offset + data.size());
+ std::memcpy(program_image.data() + offset, data.data(), data.size());
};
load_segment(codeset.CodeSegment(), kip->GetTextSection(), kip->GetTextOffset());