diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-01-22 16:06:41 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-01-22 16:07:26 +0100 |
commit | 4912ffe7297d80f1179041a5e9d740bc0913ac21 (patch) | |
tree | f4af1b3eedc7e686e1b690d6f4f7079a80712c7c /src/shared/cplusplus/Parser.cpp | |
parent | d3acff747cce2b1432c146c722caeb2381993691 (diff) | |
download | qt-creator-4912ffe7297d80f1179041a5e9d740bc0913ac21.tar.gz |
Temporary fix to prevent the parser from going too deep into recursion.
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index 69ff99708f..44f299847a 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -4507,7 +4507,13 @@ bool Parser::parseConstantExpression(ExpressionAST *&node) bool Parser::parseExpression(ExpressionAST *&node) { DEBUG_THIS_RULE(); - return parseCommaExpression(node); + if (depth > 100) + return false; + + ++depth; + bool result = parseCommaExpression(node); + --depth; + return result; } bool Parser::parseCommaExpression(ExpressionAST *&node) |