Add memory check for srcBasePtr & dstBasePtr

This commit is contained in:
raven02 2013-09-04 16:38:39 +08:00
parent 9e5362ded1
commit 06feb621df

View File

@ -1351,6 +1351,16 @@ void GLES_GPU::DoBlockTransfer() {
DEBUG_LOG(G3D, "Block transfer: %08x/%x -> %08x/%x, %ix%ix%i (%i,%i)->(%i,%i)", srcBasePtr, srcStride, dstBasePtr, dstStride, width, height, bpp, srcX, srcY, dstX, dstY);
if (!Memory::IsValidAddress(srcBasePtr)) {
ERROR_LOG_REPORT(G3D, "Bad source transfer address %08x!", srcBasePtr);
return;
}
if (!Memory::IsValidAddress(dstBasePtr)) {
ERROR_LOG_REPORT(G3D, "Bad destination transfer address %08x!", dstBasePtr);
return;
}
// Do the copy!
for (int y = 0; y < height; y++) {
const u8 *src = Memory::GetPointer(srcBasePtr + ((y + srcY) * srcStride + srcX) * bpp);