Merge pull request #12365 from timetravelthree/master

Fix out of bound write in EfbCopy::ClearEfb
This commit is contained in:
Admiral H. Curtiss 2023-12-09 02:26:15 +01:00 committed by GitHub
commit 515bd10108
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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++)
{