| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ed55374 commit f3ab106
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -377,10 +377,7 @@ function fromArrayBuffer(obj, byteOffset, length) { | |||
| 377 | 377 | } else { | |
| 378 | 378 | // convert length to non-negative integer | |
| 379 | 379 | length = +length; | |
| 380 | - // Check for NaN | ||
| 381 | - if (length !== length) { | ||
| 382 | - length = 0; | ||
| 383 | - } else if (length > 0) { | ||
| 380 | + if (length > 0) { | ||
| 384 | 381 | if (length > maxLength) | |
| 385 | 382 | throw new errors.RangeError('ERR_BUFFER_OUT_OF_BOUNDS', 'length'); | |
| 386 | 383 | } else { | |
@@ -403,7 +400,7 @@ function fromObject(obj) { | |||
| 403 | 400 | } | |
| 404 | 401 | ||
| 405 | 402 | if (obj.length !== undefined || isAnyArrayBuffer(obj.buffer)) { | |
| 406 | - if (typeof obj.length !== 'number' || obj.length !== obj.length) { | ||
| 403 | + if (typeof obj.length !== 'number') { | ||
| 407 | 404 | return new FastBuffer(); | |
| 408 | 405 | } | |
| 409 | 406 | return fromArrayLike(obj); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -148,3 +148,6 @@ b.writeDoubleBE(11.11, 0, true); | |||
| 148 | 148 | message: '"length" is outside of buffer bounds' | |
| 149 | 149 | }); | |
| 150 | 150 | } | |
| 151 | + | ||
| 152 | + // Test an array like entry with the length set to NaN. | ||
| 153 | + assert.deepStrictEqual(Buffer.from({ length: NaN }), Buffer.alloc(0)); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments