diff --git a/lib/internal/dns/utils.js b/lib/internal/dns/utils.js index 06de00174b709e..923fe302acaa54 100644 --- a/lib/internal/dns/utils.js +++ b/lib/internal/dns/utils.js @@ -38,13 +38,13 @@ const { function validateTimeout(options) { const { timeout = -1 } = { ...options }; - validateInt32(timeout, 'options.timeout', -1, 2 ** 31 - 1); + validateInt32(timeout, 'options.timeout', -1); return timeout; } function validateTries(options) { const { tries = 4 } = { ...options }; - validateInt32(tries, 'options.tries', 1, 2 ** 31 - 1); + validateInt32(tries, 'options.tries', 1); return tries; } diff --git a/lib/internal/validators.js b/lib/internal/validators.js index 006b952de0d7a2..3c1d6de582cb8e 100644 --- a/lib/internal/validators.js +++ b/lib/internal/validators.js @@ -67,7 +67,7 @@ function parseFileMode(value, name, def) { value = NumberParseInt(value, 8); } - validateInt32(value, name, 0, 2 ** 32 - 1); + validateUint32(value, name); return value; } @@ -88,11 +88,8 @@ const validateInt32 = hideStackFrames( if (typeof value !== 'number') { throw new ERR_INVALID_ARG_TYPE(name, 'number', value); } - if (!isInt32(value)) { - if (!NumberIsInteger(value)) { - throw new ERR_OUT_OF_RANGE(name, 'an integer', value); - } - throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); + if (!NumberIsInteger(value)) { + throw new ERR_OUT_OF_RANGE(name, 'an integer', value); } if (value < min || value > max) { throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); @@ -104,16 +101,14 @@ const validateUint32 = hideStackFrames((value, name, positive) => { if (typeof value !== 'number') { throw new ERR_INVALID_ARG_TYPE(name, 'number', value); } - if (!isUint32(value)) { - if (!NumberIsInteger(value)) { - throw new ERR_OUT_OF_RANGE(name, 'an integer', value); - } - const min = positive ? 1 : 0; - // 2 ** 32 === 4294967296 - throw new ERR_OUT_OF_RANGE(name, `>= ${min} && < 4294967296`, value); + if (!NumberIsInteger(value)) { + throw new ERR_OUT_OF_RANGE(name, 'an integer', value); } - if (positive && value === 0) { - throw new ERR_OUT_OF_RANGE(name, '>= 1 && < 4294967296', value); + const min = positive ? 1 : 0; + // 2 ** 32 === 4294967296 + const max = 4_294_967_295; + if (value < min || value > max) { + throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); } }); diff --git a/test/parallel/test-crypto-keygen.js b/test/parallel/test-crypto-keygen.js index 235bc583b969f2..925487376ba419 100644 --- a/test/parallel/test-crypto-keygen.js +++ b/test/parallel/test-crypto-keygen.js @@ -1131,8 +1131,6 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); }, common.mustNotCall()), { name: 'TypeError', code: 'ERR_INVALID_ARG_VALUE', - message: "The property 'options.modulusLength' is invalid. " + - `Received ${inspect(modulusLength)}` }); } diff --git a/test/parallel/test-crypto-pbkdf2.js b/test/parallel/test-crypto-pbkdf2.js index c9ab6a9c48438e..cfd173d20f4860 100644 --- a/test/parallel/test-crypto-pbkdf2.js +++ b/test/parallel/test-crypto-pbkdf2.js @@ -69,8 +69,6 @@ for (const iterations of [-1, 0]) { { code: 'ERR_OUT_OF_RANGE', name: 'RangeError', - message: 'The value of "iterations" is out of range. ' + - `It must be >= 1 && < 4294967296. Received ${iterations}` } ); } @@ -108,8 +106,6 @@ for (const iterations of [-1, 0]) { }, { code: 'ERR_OUT_OF_RANGE', name: 'RangeError', - message: 'The value of "keylen" is out of range. It must be >= 0 && < ' + - `4294967296. Received ${input === -1 ? '-1' : '4_294_967_297'}` }); }); diff --git a/test/parallel/test-file-validate-mode-flag.js b/test/parallel/test-file-validate-mode-flag.js index 2ee0716de6e18f..bb9871ae318d5f 100644 --- a/test/parallel/test-file-validate-mode-flag.js +++ b/test/parallel/test-file-validate-mode-flag.js @@ -13,27 +13,28 @@ const { } = require('fs'); // These should throw, not crash. +const invalid = 4_294_967_296; -assert.throws(() => open(__filename, 2176057344, common.mustNotCall()), { +assert.throws(() => open(__filename, invalid, common.mustNotCall()), { code: 'ERR_OUT_OF_RANGE' }); -assert.throws(() => open(__filename, 0, 2176057344, common.mustNotCall()), { +assert.throws(() => open(__filename, 0, invalid, common.mustNotCall()), { code: 'ERR_OUT_OF_RANGE' }); -assert.throws(() => openSync(__filename, 2176057344), { +assert.throws(() => openSync(__filename, invalid), { code: 'ERR_OUT_OF_RANGE' }); -assert.throws(() => openSync(__filename, 0, 2176057344), { +assert.throws(() => openSync(__filename, 0, invalid), { code: 'ERR_OUT_OF_RANGE' }); -assert.rejects(openPromise(__filename, 2176057344), { +assert.rejects(openPromise(__filename, invalid), { code: 'ERR_OUT_OF_RANGE' }); -assert.rejects(openPromise(__filename, 0, 2176057344), { +assert.rejects(openPromise(__filename, 0, invalid), { code: 'ERR_OUT_OF_RANGE' }); diff --git a/test/parallel/test-process-setgroups.js b/test/parallel/test-process-setgroups.js index 2e04c8a1756383..9506f24a5f3447 100644 --- a/test/parallel/test-process-setgroups.js +++ b/test/parallel/test-process-setgroups.js @@ -29,8 +29,6 @@ assert.throws( { code: 'ERR_OUT_OF_RANGE', name: 'RangeError', - message: 'The value of "groups[1]" is out of range. ' + - 'It must be >= 0 && < 4294967296. Received -1' } ); diff --git a/test/parallel/test-readline-interface.js b/test/parallel/test-readline-interface.js index f253a443c05884..fe684f9563855c 100644 --- a/test/parallel/test-readline-interface.js +++ b/test/parallel/test-readline-interface.js @@ -131,11 +131,7 @@ function assertCursorRowsAndCols(rli, rows, cols) { input, tabSize: 0 }), - { - message: 'The value of "tabSize" is out of range. ' + - 'It must be >= 1 && < 4294967296. Received 0', - code: 'ERR_OUT_OF_RANGE' - } + { code: 'ERR_OUT_OF_RANGE' } ); assert.throws(