From ed6ec9626eddee3ad00edfea4b0535bb9ee2638d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9?= Date: Sat, 20 Dec 2025 22:20:21 +0000 Subject: [PATCH] test: make buffer sizes 32bit-aware in test-internal-util-construct-sab PR-URL: https://github.com/nodejs/node/pull/61026 Fixes: https://github.com/nodejs/node/issues/61025 Refs: https://github.com/nodejs/node/pull/60497 Reviewed-By: Antoine du Hamel --- test/parallel/test-internal-util-construct-sab.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-internal-util-construct-sab.js b/test/parallel/test-internal-util-construct-sab.js index 5ff9b09f8e..403b59809e 100644 --- a/test/parallel/test-internal-util-construct-sab.js +++ b/test/parallel/test-internal-util-construct-sab.js @@ -3,16 +3,20 @@ require('../common'); const assert = require('assert'); +const { kMaxLength } = require('buffer'); const { isSharedArrayBuffer } = require('util/types'); const { constructSharedArrayBuffer } = require('internal/util'); // We're testing that we can construct a SAB even when the global is not exposed. assert.strictEqual(typeof SharedArrayBuffer, 'undefined'); -for (const length of [undefined, 0, 1, 2 ** 32]) { +for (const length of [undefined, 0, 1, 2 ** 16]) { assert(isSharedArrayBuffer(constructSharedArrayBuffer(length))); } -for (const length of [-1, Number.MAX_SAFE_INTEGER + 1, 2 ** 64]) { +// Specifically test the following cases: +// - out-of-range allocation requests should not crash the process +// - no int64 overflow +for (const length of [-1, kMaxLength + 1, 2 ** 64]) { assert.throws(() => constructSharedArrayBuffer(length), RangeError); }