summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeokjin Kim <deokjin81.kim@gmail.com>2023-01-18 19:36:27 +0900
committerGitHub <noreply@github.com>2023-01-18 10:36:27 +0000
commit671ffd7825272bfb38ea2bd53a349f79ce01c9f8 (patch)
tree73c1f73827cd97df0e17fa3267f6c0d641efdb1b
parent32254988ba7c0c0a68d8dfbc32430466370bf170 (diff)
downloadnode-new-671ffd7825272bfb38ea2bd53a349f79ce01c9f8.tar.gz
buffer: use min/max of `validateNumber`
Instead of additional `if` statement, use min/max of `validateNumber`. PR-URL: https://github.com/nodejs/node/pull/45796 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
-rw-r--r--lib/buffer.js9
-rw-r--r--test/parallel/test-buffer-no-negative-allocation.js3
-rw-r--r--test/parallel/test-buffer-over-max-length.js3
-rw-r--r--test/parallel/test-buffer-slow.js3
-rw-r--r--test/parallel/test-buffer-tostring-rangeerror.js3
5 files changed, 7 insertions, 14 deletions
diff --git a/lib/buffer.js b/lib/buffer.js
index 6b5f72c657..4fc6e57b1c 100644
--- a/lib/buffer.js
+++ b/lib/buffer.js
@@ -108,9 +108,9 @@ const {
const {
validateArray,
validateBuffer,
- validateNumber,
validateInteger,
- validateString
+ validateNumber,
+ validateString,
} = require('internal/validators');
// Provide validateInteger() but with kMaxLength as the default maximum value.
const validateOffset = (value, name, min = 0, max = kMaxLength) =>
@@ -349,10 +349,7 @@ ObjectSetPrototypeOf(Buffer, Uint8Array);
// occurs. This is done simply to keep the internal details of the
// implementation from bleeding out to users.
const assertSize = hideStackFrames((size) => {
- validateNumber(size, 'size');
- if (!(size >= 0 && size <= kMaxLength)) {
- throw new ERR_INVALID_ARG_VALUE.RangeError('size', size);
- }
+ validateNumber(size, 'size', 0, kMaxLength);
});
/**
diff --git a/test/parallel/test-buffer-no-negative-allocation.js b/test/parallel/test-buffer-no-negative-allocation.js
index 3d0d191938..055e2d5dc6 100644
--- a/test/parallel/test-buffer-no-negative-allocation.js
+++ b/test/parallel/test-buffer-no-negative-allocation.js
@@ -5,9 +5,8 @@ const assert = require('assert');
const { SlowBuffer } = require('buffer');
const msg = {
- code: 'ERR_INVALID_ARG_VALUE',
+ code: 'ERR_OUT_OF_RANGE',
name: 'RangeError',
- message: /^The argument 'size' is invalid\. Received [^"]*$/
};
// Test that negative Buffer length inputs throw errors.
diff --git a/test/parallel/test-buffer-over-max-length.js b/test/parallel/test-buffer-over-max-length.js
index c263633d94..d2df358cc0 100644
--- a/test/parallel/test-buffer-over-max-length.js
+++ b/test/parallel/test-buffer-over-max-length.js
@@ -8,9 +8,8 @@ const SlowBuffer = buffer.SlowBuffer;
const kMaxLength = buffer.kMaxLength;
const bufferMaxSizeMsg = {
- code: 'ERR_INVALID_ARG_VALUE',
+ code: 'ERR_OUT_OF_RANGE',
name: 'RangeError',
- message: /^The argument 'size' is invalid\. Received [^"]*$/
};
assert.throws(() => Buffer((-1 >>> 0) + 2), bufferMaxSizeMsg);
diff --git a/test/parallel/test-buffer-slow.js b/test/parallel/test-buffer-slow.js
index 70c7846bee..58188a43be 100644
--- a/test/parallel/test-buffer-slow.js
+++ b/test/parallel/test-buffer-slow.js
@@ -52,9 +52,8 @@ assert.throws(() => SlowBuffer(true), bufferInvalidTypeMsg);
// Should throw with invalid length value
const bufferMaxSizeMsg = {
- code: 'ERR_INVALID_ARG_VALUE',
+ code: 'ERR_OUT_OF_RANGE',
name: 'RangeError',
- message: /^The argument 'size' is invalid\. Received [^"]*$/
};
assert.throws(() => SlowBuffer(NaN), bufferMaxSizeMsg);
assert.throws(() => SlowBuffer(Infinity), bufferMaxSizeMsg);
diff --git a/test/parallel/test-buffer-tostring-rangeerror.js b/test/parallel/test-buffer-tostring-rangeerror.js
index 4416effb42..d2e1e0d6e4 100644
--- a/test/parallel/test-buffer-tostring-rangeerror.js
+++ b/test/parallel/test-buffer-tostring-rangeerror.js
@@ -10,9 +10,8 @@ const SlowBuffer = require('buffer').SlowBuffer;
const len = 1422561062959;
const message = {
- code: 'ERR_INVALID_ARG_VALUE',
+ code: 'ERR_OUT_OF_RANGE',
name: 'RangeError',
- message: /^The argument 'size' is invalid\. Received [^"]*$/
};
assert.throws(() => Buffer(len).toString('utf8'), message);
assert.throws(() => SlowBuffer(len).toString('utf8'), message);