diff --git a/Core/HLE/sceKernelInterrupt.cpp b/Core/HLE/sceKernelInterrupt.cpp index 33dcf2f303e1..a1ec85dec00e 100644 --- a/Core/HLE/sceKernelInterrupt.cpp +++ b/Core/HLE/sceKernelInterrupt.cpp @@ -884,7 +884,7 @@ static int sysclib_sprintf(u32 dst, u32 fmt) { DEBUG_LOG(SCEKERNEL, "sysclib_sprintf result string has length %d, content:", (int)result.length()); DEBUG_LOG(SCEKERNEL, "%s", result.c_str()); - if (!Memory::IsValidRange(dst, result.length() + 1)) { + if (!Memory::IsValidRange(dst, (u32)result.length() + 1)) { ERROR_LOG(SCEKERNEL, "sysclib_sprintf result string is too long or dst is invalid"); return 0; } diff --git a/Core/MIPS/IR/IRCompVFPU.cpp b/Core/MIPS/IR/IRCompVFPU.cpp index 6f44c2ccdd84..84b57047f47e 100644 --- a/Core/MIPS/IR/IRCompVFPU.cpp +++ b/Core/MIPS/IR/IRCompVFPU.cpp @@ -969,6 +969,11 @@ namespace MIPSComp { void IRFrontend::Comp_VV2Op(MIPSOpcode op) { CONDITIONAL_DISABLE(VFPU_VEC); + + if (js.HasUnknownPrefix()) { + DISABLE; + } + int optype = (op >> 16) & 0x1f; if (optype == 0) { if (js.HasUnknownPrefix() || !IsPrefixWithinSize(js.prefixS, op))