buffer: fix creating from zero-length ArrayBuffer
Fixes regression where creating a new Buffer from an
empty ArrayBuffer would fail.
Ref: 85ab4a5f12
PR-URL: https://github.com/nodejs/node/pull/7176
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Ron Korving <ron@ronkorving.nl>
This commit is contained in:
parent
0c73c9fece
commit
0e9e149da4
@ -257,7 +257,7 @@ function fromArrayBuffer(obj, byteOffset, length) {
|
||||
|
||||
const maxLength = obj.byteLength - byteOffset;
|
||||
|
||||
if (maxLength <= 0)
|
||||
if (maxLength < 0)
|
||||
throw new RangeError("'offset' is out of bounds");
|
||||
|
||||
if (length === undefined) {
|
||||
|
@ -1459,3 +1459,8 @@ const ubuf = Buffer.allocUnsafeSlow(10);
|
||||
assert(ubuf);
|
||||
assert(ubuf.buffer);
|
||||
assert.equal(ubuf.buffer.byteLength, 10);
|
||||
|
||||
// Regression test
|
||||
assert.doesNotThrow(() => {
|
||||
Buffer.from(new ArrayBuffer());
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user