buffer: combine checking range of sourceStart in buf.copy

Merging 2 checking range of sourceStart into 1. Plus,
add test case to increase coverage if sourceStart is greater
than length of source.

PR-URL: https://github.com/nodejs/node/pull/47758
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
Deokjin Kim 2023-05-08 08:58:41 +09:00 committed by GitHub
parent 528aacab8d
commit 2545019451
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 11 deletions

View file

@ -222,8 +222,8 @@ function _copy(source, target, targetStart, sourceStart, sourceEnd) {
sourceStart = 0;
} else {
sourceStart = toInteger(sourceStart, 0);
if (sourceStart < 0)
throw new ERR_OUT_OF_RANGE('sourceStart', '>= 0', sourceStart);
if (sourceStart < 0 || sourceStart > source.length)
throw new ERR_OUT_OF_RANGE('sourceStart', `>= 0 && <= ${source.length}`, sourceStart);
}
if (sourceEnd === undefined) {
@ -237,12 +237,6 @@ function _copy(source, target, targetStart, sourceStart, sourceEnd) {
if (targetStart >= target.length || sourceStart >= sourceEnd)
return 0;
if (sourceStart > source.length) {
throw new ERR_OUT_OF_RANGE('sourceStart',
`<= ${source.length}`,
sourceStart);
}
return _copyActual(source, target, targetStart, sourceStart, sourceEnd);
}