mirror of
https://git.h3cjp.net/H3cJP/citra.git
synced 2024-12-01 08:22:53 +00:00
prepo: : Don't read extra buffer from report unless passed
Prepo doesn't always pass a secondary buffer, we assume it always does which leads to a bad read.
This commit is contained in:
parent
b66ccaa376
commit
2f0b322e72
|
@ -75,8 +75,13 @@ private:
|
||||||
const auto user_id = rp.PopRaw<u128>();
|
const auto user_id = rp.PopRaw<u128>();
|
||||||
const auto process_id = rp.PopRaw<u64>();
|
const auto process_id = rp.PopRaw<u64>();
|
||||||
std::vector<std::vector<u8>> data{ctx.ReadBuffer(0)};
|
std::vector<std::vector<u8>> data{ctx.ReadBuffer(0)};
|
||||||
|
|
||||||
if constexpr (Type == Core::Reporter::PlayReportType::Old2) {
|
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(
|
LOG_DEBUG(
|
||||||
|
|
Loading…
Reference in a new issue