2
1
Fork 0
mirror of https://github.com/yuzu-emu/yuzu.git synced 2024-07-04 23:31:19 +01: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:
David Marcec 2020-06-24 23:01:00 +10:00
parent b66ccaa376
commit 2f0b322e72

View file

@ -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(