diff options
| author | JosJuice <josjuice@gmail.com> | 2026-05-30 16:35:16 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2026-06-20 15:15:36 +0200 |
| commit | 747e1e0d92acedf0c0d49e4d6c7b2bcec4d9f301 (patch) | |
| tree | af4344ecebfb6d9151f4a4e37bbe70f29b63f04d /Source/Core | |
| parent | 43210d14309b2028cc045fae695c879ef26c9ce5 (diff) | |
NetPlay: Fix Wii save banner buffer overflow
Reported by MrSynAckster.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/NetPlayClient.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/Core/NetPlayServer.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/Core/NetPlayClient.cpp b/Source/Core/Core/NetPlayClient.cpp index 8c38fc0b53..20edd35c0e 100644 --- a/Source/Core/Core/NetPlayClient.cpp +++ b/Source/Core/Core/NetPlayClient.cpp @@ -1211,7 +1211,7 @@ void NetPlayClient::OnSyncSaveDataWii(sf::Packet& packet) for (u8& byte : header.md5) packet >> byte; packet >> header.unk2; - for (size_t i = 0; i < header.banner_size; i++) + for (size_t i = 0; i < std::min<size_t>(header.banner_size, sizeof(header.banner)); i++) packet >> header.banner[i]; // BkHeader diff --git a/Source/Core/Core/NetPlayServer.cpp b/Source/Core/Core/NetPlayServer.cpp index 57cd691060..8f6ba17368 100644 --- a/Source/Core/Core/NetPlayServer.cpp +++ b/Source/Core/Core/NetPlayServer.cpp @@ -1976,7 +1976,7 @@ bool NetPlayServer::SyncSaveData(const SaveSyncInfo& sync_info) for (u8 byte : header->md5) pac << byte; pac << header->unk2; - for (size_t i = 0; i < header->banner_size; i++) + for (size_t i = 0; i < std::min<size_t>(header->banner_size, sizeof(header->banner)); i++) pac << header->banner[i]; // BkHeader |
