Skip to content

Commit 671ffd7

Browse files
authored
buffer: use min/max of validateNumber
Instead of additional `if` statement, use min/max of `validateNumber`. PR-URL: #45796 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
1 parent 3225498 commit 671ffd7

5 files changed

+7
-14
lines changed

lib/buffer.js

+3-6
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,9 @@ const {
108108
const {
109109
validateArray,
110110
validateBuffer,
111-
validateNumber,
112111
validateInteger,
113-
validateString
112+
validateNumber,
113+
validateString,
114114
} = require('internal/validators');
115115
// Provide validateInteger() but with kMaxLength as the default maximum value.
116116
const validateOffset = (value, name, min = 0, max = kMaxLength) =>
@@ -349,10 +349,7 @@ ObjectSetPrototypeOf(Buffer, Uint8Array);
349349
// occurs. This is done simply to keep the internal details of the
350350
// implementation from bleeding out to users.
351351
const assertSize = hideStackFrames((size) => {
352-
validateNumber(size, 'size');
353-
if (!(size >= 0 && size <= kMaxLength)) {
354-
throw new ERR_INVALID_ARG_VALUE.RangeError('size', size);
355-
}
352+
validateNumber(size, 'size', 0, kMaxLength);
356353
});
357354

358355
/**

test/parallel/test-buffer-no-negative-allocation.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ const assert = require('assert');
55
const { SlowBuffer } = require('buffer');
66

77
const msg = {
8-
code: 'ERR_INVALID_ARG_VALUE',
8+
code: 'ERR_OUT_OF_RANGE',
99
name: 'RangeError',
10-
message: /^The argument 'size' is invalid\. Received [^"]*$/
1110
};
1211

1312
// Test that negative Buffer length inputs throw errors.

test/parallel/test-buffer-over-max-length.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ const SlowBuffer = buffer.SlowBuffer;
88

99
const kMaxLength = buffer.kMaxLength;
1010
const bufferMaxSizeMsg = {
11-
code: 'ERR_INVALID_ARG_VALUE',
11+
code: 'ERR_OUT_OF_RANGE',
1212
name: 'RangeError',
13-
message: /^The argument 'size' is invalid\. Received [^"]*$/
1413
};
1514

1615
assert.throws(() => Buffer((-1 >>> 0) + 2), bufferMaxSizeMsg);

test/parallel/test-buffer-slow.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,8 @@ assert.throws(() => SlowBuffer(true), bufferInvalidTypeMsg);
5252

5353
// Should throw with invalid length value
5454
const bufferMaxSizeMsg = {
55-
code: 'ERR_INVALID_ARG_VALUE',
55+
code: 'ERR_OUT_OF_RANGE',
5656
name: 'RangeError',
57-
message: /^The argument 'size' is invalid\. Received [^"]*$/
5857
};
5958
assert.throws(() => SlowBuffer(NaN), bufferMaxSizeMsg);
6059
assert.throws(() => SlowBuffer(Infinity), bufferMaxSizeMsg);

test/parallel/test-buffer-tostring-rangeerror.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ const SlowBuffer = require('buffer').SlowBuffer;
1010

1111
const len = 1422561062959;
1212
const message = {
13-
code: 'ERR_INVALID_ARG_VALUE',
13+
code: 'ERR_OUT_OF_RANGE',
1414
name: 'RangeError',
15-
message: /^The argument 'size' is invalid\. Received [^"]*$/
1615
};
1716
assert.throws(() => Buffer(len).toString('utf8'), message);
1817
assert.throws(() => SlowBuffer(len).toString('utf8'), message);

0 commit comments

Comments
 (0)