Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5b5e519

Browse files
MrJithilrichardlau
authored andcommitted
lib: fix compileFunction throws range error for negative numbers
PR-URL:#49855Backport-PR-URL:#51004Fixes:#49848Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
1 parent58c7034 commit5b5e519

File tree

2 files changed

+37
-3
lines changed

2 files changed

+37
-3
lines changed

‎lib/internal/vm.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const {
1616
validateObject,
1717
validateString,
1818
validateStringArray,
19-
validateUint32,
19+
validateInt32,
2020
}=require('internal/validators');
2121
const{
2222
ERR_INVALID_ARG_TYPE,
@@ -46,8 +46,8 @@ function internalCompileFunction(code, params, options) {
4646
}=options;
4747

4848
validateString(filename,'options.filename');
49-
validateUint32(columnOffset,'options.columnOffset');
50-
validateUint32(lineOffset,'options.lineOffset');
49+
validateInt32(columnOffset,'options.columnOffset');
50+
validateInt32(lineOffset,'options.lineOffset');
5151
if(cachedData!==undefined)
5252
validateBuffer(cachedData,'options.cachedData');
5353
validateBoolean(produceCachedData,'options.produceCachedData');
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
'use strict';
2+
3+
require('../common');
4+
5+
constassert=require('assert');
6+
const{ compileFunction}=require('node:vm');
7+
8+
constmin=-2147483648;
9+
constmax=2147483647;
10+
11+
compileFunction('',[],{lineOffset:min,columnOffset:min});
12+
compileFunction('',[],{lineOffset:max,columnOffset:max});
13+
14+
assert.throws(
15+
()=>{
16+
compileFunction('',[],{lineOffset:min-1,columnOffset:max});
17+
},
18+
{
19+
code:'ERR_OUT_OF_RANGE',
20+
name:'RangeError',
21+
message:/Thevalueof"options\.lineOffset"isoutofrange/,
22+
}
23+
);
24+
25+
assert.throws(
26+
()=>{
27+
compileFunction('',[],{lineOffset:min,columnOffset:min-1});
28+
},
29+
{
30+
code:'ERR_OUT_OF_RANGE',
31+
name:'RangeError',
32+
message:/Thevalueof"options\.columnOffset"isoutofrange/,
33+
}
34+
);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp