From a89307c5ba3f36b87cd08df8e158cd75b3d4a768 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sat, 26 Sep 2015 12:59:48 +0100 Subject: [PATCH] Vif: Fix logically dead code with something slightly quicker. Coverity CID 146827: In _vifCode_MPG(int, unsigned int, unsigned int const*, int): Code can never be reached because of a logical contradiction (CWE-561) --- pcsx2/Vif_Codes.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pcsx2/Vif_Codes.cpp b/pcsx2/Vif_Codes.cpp index dfba1cc411..582841b8ac 100644 --- a/pcsx2/Vif_Codes.cpp +++ b/pcsx2/Vif_Codes.cpp @@ -278,6 +278,7 @@ vifOp(vifCode_Mark) { static __fi void _vifCode_MPG(int idx, u32 addr, const u32 *data, int size) { VURegs& VUx = idx ? VU1 : VU0; vifStruct& vifX = GetVifX; + u16 vuMemSize = idx ? 0x4000 : 0x1000; pxAssert(VUx.Micro > 0); vifExecQueue(idx); @@ -290,14 +291,14 @@ static __fi void _vifCode_MPG(int idx, u32 addr, const u32 *data, int size) { // Don't forget the Unsigned designator for these checks - if((addr + size *4) > (idx ? 0x4000U : 0x1000U)) + if((addr + size *4) > vuMemSize) { //DevCon.Warning("Handling split MPG"); - if (!idx) CpuVU0->Clear(addr, (idx ? 0x4000 : 0x1000) - addr); - else CpuVU1->Clear(addr, (idx ? 0x4000 : 0x1000) - addr); + if (!idx) CpuVU0->Clear(addr, vuMemSize - addr); + else CpuVU1->Clear(addr, vuMemSize - addr); - memcpy(VUx.Micro + addr, data, (idx ? 0x4000 : 0x1000) - addr); - size -= ((idx ? 0x4000 : 0x1000) - addr) / 4; + memcpy(VUx.Micro + addr, data, vuMemSize - addr); + size -= (vuMemSize - addr) / 4; memcpy(VUx.Micro, data, size); vifX.tag.addr = size * 4;