summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar David Marcec2020-04-24 17:16:39 +1000
committerGravatar David Marcec2020-04-24 17:24:58 +1000
commit03a6f3b0f424ad2e4f0dc53e38b325cb1da6a91c (patch)
treee1c4b7166dd40c91d017af8dffd7acce39ee9430 /src
parentMerge pull request #3760 from Morph1984/trailing-filedir-separator (diff)
downloadyuzu-03a6f3b0f424ad2e4f0dc53e38b325cb1da6a91c.tar.gz
yuzu-03a6f3b0f424ad2e4f0dc53e38b325cb1da6a91c.tar.xz
yuzu-03a6f3b0f424ad2e4f0dc53e38b325cb1da6a91c.zip
vi: Don't let uninitialized data pass as a response for SetBufferCount
Currently SetBufferCount doesn't write to the out buffer which then contains uninitialized data. This leads to non-zero data which leads to responding with different error codes
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/vi/vi.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp
index 7f109f4eb..9390ca83d 100644
--- a/src/core/hle/service/vi/vi.cpp
+++ b/src/core/hle/service/vi/vi.cpp
@@ -267,7 +267,7 @@ protected:
267 267
268private: 268private:
269 struct Data { 269 struct Data {
270 u32_le unk_0; 270 u32_le unk_0{};
271 }; 271 };
272 272
273 Data data{}; 273 Data data{};
@@ -614,6 +614,14 @@ private:
614 ctx.WriteBuffer(response.Serialize()); 614 ctx.WriteBuffer(response.Serialize());
615 break; 615 break;
616 } 616 }
617 case TransactionId::SetBufferCount: {
618 LOG_WARNING(Service_VI, "(STUBBED) called, transaction=SetBufferCount");
619 [[maybe_unused]] const auto buffer = ctx.ReadBuffer();
620
621 IGBPEmptyResponseParcel response{};
622 ctx.WriteBuffer(response.Serialize());
623 break;
624 }
617 default: 625 default:
618 ASSERT_MSG(false, "Unimplemented"); 626 ASSERT_MSG(false, "Unimplemented");
619 } 627 }