v8/test/mjsunit/regress/regress-crbug-516592.js
jkummerow 087ae1b08a Fix off-by-one in Array.concat's max index check
The maximum valid index is strictly smaller than the maximum valid length.

BUG=chromium:516592
LOG=y
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/1278703003

Cr-Commit-Position: refs/heads/master@{#30040}
2015-08-06 09:57:19 +00:00

19 lines
487 B
JavaScript

// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
var i = Math.pow(2, 31);
var a = [];
a[i] = 31;
var b = [];
b[i - 2] = 33;
try {
// This is supposed to throw a RangeError.
var c = a.concat(b);
// If it didn't, ObservableSetLength will detect the problem.
Object.observe(c, function() {});
c.length = 1;
} catch(e) {
assertTrue(e instanceof RangeError);
}