aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/glsl/glsl.g2
-rw-r--r--src/libs/glsl/glslparser.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/libs/glsl/glsl.g b/src/libs/glsl/glsl.g
index 314cef0bb7..ee9aab833c 100644
--- a/src/libs/glsl/glsl.g
+++ b/src/libs/glsl/glsl.g
@@ -576,6 +576,8 @@ AST *Parser::parse(int startToken)
if (yytoken != -1) {
const QLatin1String s(spell[yytoken]);
message = QString::fromLatin1("Unexpected token `%1'").arg(s);
+ if (yytoken == 0) // do not freeze on unexpected end of file
+ return nullptr;
}
for (; _tos; --_tos) {
diff --git a/src/libs/glsl/glslparser.cpp b/src/libs/glsl/glslparser.cpp
index 17dc26c61f..5b63300682 100644
--- a/src/libs/glsl/glslparser.cpp
+++ b/src/libs/glsl/glslparser.cpp
@@ -166,6 +166,8 @@ AST *Parser::parse(int startToken)
if (yytoken != -1) {
const QLatin1String s(spell[yytoken]);
message = QString::fromLatin1("Unexpected token `%1'").arg(s);
+ if (yytoken == 0) // do not freeze on unexpected end of file
+ return nullptr;
}
for (; _tos; --_tos) {