1'use strict'; 2require('../common'); 3 4const assert = require('assert'); 5 6const buffer = require('buffer'); 7const SlowBuffer = buffer.SlowBuffer; 8 9const kMaxLength = buffer.kMaxLength; 10const bufferMaxSizeMsg = { 11 code: 'ERR_INVALID_ARG_VALUE', 12 name: 'RangeError', 13 message: /^The argument 'size' is invalid\. Received [^"]*$/ 14}; 15 16assert.throws(() => Buffer((-1 >>> 0) + 2), bufferMaxSizeMsg); 17assert.throws(() => SlowBuffer((-1 >>> 0) + 2), bufferMaxSizeMsg); 18assert.throws(() => Buffer.alloc((-1 >>> 0) + 2), bufferMaxSizeMsg); 19assert.throws(() => Buffer.allocUnsafe((-1 >>> 0) + 2), bufferMaxSizeMsg); 20assert.throws(() => Buffer.allocUnsafeSlow((-1 >>> 0) + 2), bufferMaxSizeMsg); 21 22assert.throws(() => Buffer(kMaxLength + 1), bufferMaxSizeMsg); 23assert.throws(() => SlowBuffer(kMaxLength + 1), bufferMaxSizeMsg); 24assert.throws(() => Buffer.alloc(kMaxLength + 1), bufferMaxSizeMsg); 25assert.throws(() => Buffer.allocUnsafe(kMaxLength + 1), bufferMaxSizeMsg); 26assert.throws(() => Buffer.allocUnsafeSlow(kMaxLength + 1), bufferMaxSizeMsg); 27 28// issue GH-4331 29assert.throws(() => Buffer.allocUnsafe(0x100000001), bufferMaxSizeMsg); 30assert.throws(() => Buffer.allocUnsafe(0xFFFFFFFFF), bufferMaxSizeMsg); 31