From 3973354951007e352052d4d57989cf6c212d43d3 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 16 Apr 2019 06:42:13 -0700 Subject: [PATCH] benchmark: fix buffer-base64-decode.js 693401d0ddd752e5fa47b882e56e252c42c94c0e added stricter range checking for buffer operations and that apparently seems to have uncovered the fact that one of our benchmarks was overflowing a buffer. Increase the buffer size so the benchmark doesn't throw an error anymore. PR-URL: https://github.com/nodejs/node/pull/27260 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater Reviewed-By: Luigi Pinca Reviewed-By: Refael Ackermann --- benchmark/buffers/buffer-base64-decode.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/benchmark/buffers/buffer-base64-decode.js b/benchmark/buffers/buffer-base64-decode.js index 0ac694fe8c4ae7..d05b9ab3787fce 100644 --- a/benchmark/buffers/buffer-base64-decode.js +++ b/benchmark/buffers/buffer-base64-decode.js @@ -9,11 +9,12 @@ const bench = common.createBenchmark(main, { function main({ n, size }) { const s = 'abcd'.repeat(size); + const encodedSize = s.length * 3 / 4; // eslint-disable-next-line node-core/no-unescaped-regexp-dot s.match(/./); // Flatten string. assert.strictEqual(s.length % 4, 0); - const b = Buffer.allocUnsafe(s.length / 4 * 3); - b.write(s, 0, s.length, 'base64'); + const b = Buffer.allocUnsafe(encodedSize); + b.write(s, 0, encodedSize, 'base64'); bench.start(); for (var i = 0; i < n; i += 1) b.base64Write(s, 0, s.length); bench.end(n);