diff options
-rw-r--r-- | src/libs/glsl/glsl.g | 2 | ||||
-rw-r--r-- | src/libs/glsl/glslparser.cpp | 2 |
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) { |