Fix out of bound write in EfbCopy::ClearEfb

This commit is contained in:
timetravelthree 2023-12-08 09:51:32 -09:00 committed by Admiral H. Curtiss
parent 7eb02ecfa4
commit 3b8737d2d7
No known key found for this signature in database
GPG Key ID: F051B4C4044F33FB
1 changed files with 5 additions and 2 deletions

View File

@ -3,6 +3,8 @@
#include "VideoBackends/Software/EfbCopy.h"
#include <algorithm>
#include "Common/CommonTypes.h"
#include "Common/Logging/Log.h"
#include "Core/HW/Memmap.h"
@ -11,6 +13,7 @@
#include "VideoCommon/BPMemory.h"
#include "VideoCommon/Fifo.h"
#include "VideoCommon/VideoCommon.h"
namespace EfbCopy
{
@ -21,8 +24,8 @@ void ClearEfb()
int left = bpmem.copyTexSrcXY.x;
int top = bpmem.copyTexSrcXY.y;
int right = left + bpmem.copyTexSrcWH.x;
int bottom = top + bpmem.copyTexSrcWH.y;
int right = std::min(left + bpmem.copyTexSrcWH.x, EFB_WIDTH - 1);
int bottom = std::min(top + bpmem.copyTexSrcWH.y, EFB_HEIGHT - 1);
for (u16 y = top; y <= bottom; y++)
{