Skip to content

Commit 0e9e149

Browse files
RReverseraddaleax
authored andcommitted
buffer: fix creating from zero-length ArrayBuffer
Fixes regression where creating a new Buffer from an empty ArrayBuffer would fail. Ref: 85ab4a5 PR-URL: #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>
1 parent 0c73c9f commit 0e9e149

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/buffer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ function fromArrayBuffer(obj, byteOffset, length) {
257257

258258
const maxLength = obj.byteLength - byteOffset;
259259

260-
if (maxLength <= 0)
260+
if (maxLength < 0)
261261
throw new RangeError("'offset' is out of bounds");
262262

263263
if (length === undefined) {

test/parallel/test-buffer-alloc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1459,3 +1459,8 @@ const ubuf = Buffer.allocUnsafeSlow(10);
14591459
assert(ubuf);
14601460
assert(ubuf.buffer);
14611461
assert.equal(ubuf.buffer.byteLength, 10);
1462+
1463+
// Regression test
1464+
assert.doesNotThrow(() => {
1465+
Buffer.from(new ArrayBuffer());
1466+
});

0 commit comments

Comments
 (0)