From d171822dcecc7b234d63147270d21307605a6347 Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 16 Dec 2015 18:49:20 -0500 Subject: [PATCH] command_processor: Add an assertion to ensure LUTs are not written past their boundaries. --- src/video_core/command_processor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/video_core/command_processor.cpp b/src/video_core/command_processor.cpp index 7409534b6..6540ccb26 100644 --- a/src/video_core/command_processor.cpp +++ b/src/video_core/command_processor.cpp @@ -474,6 +474,9 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { case PICA_REG_INDEX_WORKAROUND(lighting.lut_data[7], 0x1cf): { auto& lut_config = regs.lighting.lut_config; + + ASSERT_MSG(lut_config.index < 256, "lut_config.index exceeded maximum value of 255!"); + g_state.lighting.luts[lut_config.type][lut_config.index].raw = value; lut_config.index = lut_config.index + 1; break;