From 63400477f63acc4cd6fd3bcfb5562128ec5dd39d Mon Sep 17 00:00:00 2001 From: John Kessenich <cepheus@frii.com> Date: Wed, 10 Jan 2018 03:50:42 -0700 Subject: [PATCH] HLSL: Protect against 'continue' outside of loops. --- hlsl/hlslGrammar.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index 2fd393363..60ea50e6e 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -3786,6 +3786,10 @@ bool HlslGrammar::acceptJumpStatement(TIntermNode*& statement) switch (jump) { case EHTokContinue: statement = intermediate.addBranch(EOpContinue, token.loc); + if (parseContext.loopNestingLevel == 0) { + expected("loop"); + return false; + } break; case EHTokBreak: statement = intermediate.addBranch(EOpBreak, token.loc); -- GitLab