summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-06-30 22:37:13 -0400
committerGitHub <noreply@github.com>2020-06-30 22:37:13 -0400
commitc6b0353c4dac96a592b67f6360909d2ac0836ea6 (patch)
treebdedafe1c1ac84177e46ebfaadada8a4337807d6 /src
parent424540d9e82d486c3e80c1194e588f1a869c695f (diff)
parent2f0b322e721625def489f1dfaf9eb061e2eedb9a (diff)
Merge pull request #4153 from ogniK5377/prepo-multibuf
prepo: : Don't read extra buffer from report unless passed
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/prepo/prepo.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/hle/service/prepo/prepo.cpp b/src/core/hle/service/prepo/prepo.cpp
index 14309c679..67833d9af 100644
--- a/src/core/hle/service/prepo/prepo.cpp
+++ b/src/core/hle/service/prepo/prepo.cpp
@@ -75,8 +75,13 @@ private:
const auto user_id = rp.PopRaw<u128>();
const auto process_id = rp.PopRaw<u64>();
std::vector<std::vector<u8>> data{ctx.ReadBuffer(0)};
+
if constexpr (Type == Core::Reporter::PlayReportType::Old2) {
- data.emplace_back(ctx.ReadBuffer(1));
+ const auto read_buffer_count =
+ ctx.BufferDescriptorX().size() + ctx.BufferDescriptorA().size();
+ if (read_buffer_count > 1) {
+ data.emplace_back(ctx.ReadBuffer(1));
+ }
}
LOG_DEBUG(