From 1ec3320e9945613e6fa89986a3469c21415b893b Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 17 Apr 2020 16:52:35 +0100 Subject: [PATCH] Don't bounds check instruction numbers against disassembly line count --- qrenderdoc/Windows/ShaderViewer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Windows/ShaderViewer.cpp b/qrenderdoc/Windows/ShaderViewer.cpp index 1c4529090..50221bbcd 100644 --- a/qrenderdoc/Windows/ShaderViewer.cpp +++ b/qrenderdoc/Windows/ShaderViewer.cpp @@ -3241,6 +3241,9 @@ void ShaderViewer::SetCurrentStep(uint32_t step) void ShaderViewer::ToggleBreakpoint(int instruction) { + if(!m_Trace || m_States.empty()) + return; + sptr_t instLine = -1; if(instruction == -1) @@ -3286,12 +3289,12 @@ void ShaderViewer::ToggleBreakpoint(int instruction) } } - if(instruction < 0 || instruction >= m_DisassemblyView->lineCount()) + if(instruction < 0 || instruction >= m_Trace->lineInfo.count()) return; if(instLine == -1) { - if(m_Trace && instruction < m_Trace->lineInfo.count()) + if(instruction < m_Trace->lineInfo.count()) instLine = m_Trace->lineInfo[instruction].disassemblyLine - 1; }