-
-
Notifications
You must be signed in to change notification settings - Fork 33.8k
Closed
Labels
bufferIssues and PRs related to the buffer subsystem.Issues and PRs related to the buffer subsystem.confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.
Description
Version
14.17.3
Platform
23.4.0 Darwin Kernel Version 23.4.0
Subsystem
No response
What steps will reproduce the bug?
let buffer = Buffer.alloc(2279415336);
let res = buffer.toString('utf8', 2147483648, 2147483700); // 2^32 - 1 < start
// buffer.js:605
// slice: (buf, start, end) => buf.utf8Slice(start, end),
^
// RangeError: Index out of rangeHow often does it reproduce? Is there a required condition?
everytime
What is the expected behavior? Why is that the expected behavior?
Buffer.toString() should be able to handle buffers smaller than kMaxLength.
What do you see instead?
index out of range error
Additional information
The bitwise or assignment (|=) operation of Buffer.toString() seems to be the cause of the error. If start or end parameter greater than INT_MAX is passed, the value changes to a negative number, resulting in an index out of range error.
Metadata
Metadata
Assignees
Labels
bufferIssues and PRs related to the buffer subsystem.Issues and PRs related to the buffer subsystem.confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.