diff --git a/vendor/hlslparser/src/HLSLParser.cpp b/vendor/hlslparser/src/HLSLParser.cpp index 6b798d5617..03ba4d92a6 100644 --- a/vendor/hlslparser/src/HLSLParser.cpp +++ b/vendor/hlslparser/src/HLSLParser.cpp @@ -3614,7 +3614,7 @@ bool HLSLParser::ApplyPreprocessor(const char* fileName, const char* buffer, siz isCodeActive.push(true); m_tokenizer = HLSLTokenizer(fileName, buffer, length); sourcePreprocessed.clear(); - while (m_tokenizer.GetToken() != HLSLToken_EndOfStream) + while (m_tokenizer.GetToken() != HLSLToken_EndOfStream && !isCodeActive.empty()) { bool addOriginalSource = true;