@@ -6,6 +6,12 @@ const {
|
6 | 6 | StringPrototypeEndsWith, |
7 | 7 | } = primordials; |
8 | 8 | |
| 9 | +const { |
| 10 | +codes: { |
| 11 | +ERR_OUT_OF_RANGE, |
| 12 | +}, |
| 13 | +} = require('internal/errors'); |
| 14 | + |
9 | 15 | const colors = require('internal/util/colors'); |
10 | 16 | |
11 | 17 | const kNopLinesToCollapse = 5; |
@@ -29,7 +35,15 @@ function myersDiff(actual, expected, checkCommaDisparity = false) {
|
29 | 35 | const actualLength = actual.length; |
30 | 36 | const expectedLength = expected.length; |
31 | 37 | const max = actualLength + expectedLength; |
32 | | -// TODO(BridgeAR): Cap the input in case the values go beyond the limit of 2^31 - 1. |
| 38 | + |
| 39 | +if (max > 2 ** 31 - 1) { |
| 40 | +throw new ERR_OUT_OF_RANGE( |
| 41 | +'myersDiff input size', |
| 42 | +'< 2^31', |
| 43 | +max, |
| 44 | +); |
| 45 | +} |
| 46 | + |
33 | 47 | const v = new Int32Array(2 * max + 1); |
34 | 48 | const trace = []; |
35 | 49 | |
|