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