From e9c7209f8b6e28f9bb94c44db0e7e0352de1edf0 Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Thu, 9 Oct 2014 13:52:08 +0100 Subject: [PATCH] Guard against missing elements in array patterns when checking function parameters. --- acorn.js | 6 ++++-- test/tests-harmony.js | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/acorn.js b/acorn.js index f1872f4419..2da669c499 100644 --- a/acorn.js +++ b/acorn.js @@ -1391,8 +1391,10 @@ break; case "ArrayPattern": - for (var i = 0; i < param.elements.length; i++) - checkFunctionParam(param.elements[i], nameHash); + for (var i = 0; i < param.elements.length; i++) { + var elem = param.elements[i]; + if (elem) checkFunctionParam(elem, nameHash); + } break; } } diff --git a/test/tests-harmony.js b/test/tests-harmony.js index deeb049f65..01010e95ca 100644 --- a/test/tests-harmony.js +++ b/test/tests-harmony.js @@ -15389,3 +15389,5 @@ test('function normal(x, y = 10) {}', { expression: false }] }, {ecmaVersion: 6}); + +test("'use strict'; function f([x,,z]) {}", {}, {ecmaVersion: 6});