| Index: src/parser.cc
|
| diff --git a/src/parser.cc b/src/parser.cc
|
| index 41a8234c29a9f0859d406fd862502619970d56d2..cce337fb46d448b23c60f958b88d644f7cc851e0 100644
|
| --- a/src/parser.cc
|
| +++ b/src/parser.cc
|
| @@ -3505,6 +3505,12 @@ ZoneList<Expression*>* Parser::ParseArguments(bool* ok) {
|
| 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);
|
| }
|
|
|