diff --git a/lib/buffer.js b/lib/buffer.js index e3e2083ff9ca9c..e703c06ebf1603 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -105,6 +105,10 @@ function fromObject(obj) { return b; } + if (obj == null) { + throw new TypeError('must start with number, buffer, array or string'); + } + if (obj instanceof ArrayBuffer) { return binding.createFromArrayBuffer(obj); } diff --git a/test/parallel/test-buffer.js b/test/parallel/test-buffer.js index 308019eae5a08c..7beb1ca463a182 100644 --- a/test/parallel/test-buffer.js +++ b/test/parallel/test-buffer.js @@ -1179,3 +1179,7 @@ Buffer.poolSize = ps; assert.throws(function() { Buffer(10).copy(); }); + +assert.throws(function() { + new Buffer(); +}, /must start with number, buffer, array or string/);