Index: src/parser.cc |
=================================================================== |
--- src/parser.cc (revision 8195) |
+++ src/parser.cc (working copy) |
@@ -3506,6 +3506,12 @@ |
while (!done) { |
Expression* argument = ParseAssignmentExpression(true, CHECK_OK); |
result->Add(argument); |
+ if (result->length() > kMaxNumFunctionParameters) { |
+ ReportMessageAt(scanner().location(), "too_many_arguments", |
+ Vector<const char*>::empty()); |
+ *ok = false; |
+ return NULL; |
+ } |
done = (peek() == Token::RPAREN); |
if (!done) Expect(Token::COMMA, CHECK_OK); |
} |