Skip to content

Commit 180d365

Browse files
KhafraDevtargos
authored andcommittedMay 2, 2023
url: validate URL constructor arg length
PR-URL: #47513 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Tiancheng "Timothy" Gu <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Filip Skokan <[email protected]>
1 parent 4839fc4 commit 180d365

File tree

3 files changed

+23
-12
lines changed

3 files changed

+23
-12
lines changed
 

‎lib/internal/url.js

+4
Original file line numberDiff line numberDiff line change
@@ -706,6 +706,10 @@ class URL {
706706
#searchParams;
707707

708708
constructor(input, base = undefined) {
709+
if (arguments.length === 0) {
710+
throw new ERR_MISSING_ARGS('url');
711+
}
712+
709713
// toUSVString is not needed.
710714
input = `${input}`;
711715

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
'use strict';
2-
3-
require('../common');
4-
const assert = require('assert');
5-
6-
// One argument is required
7-
assert.throws(() => {
8-
URL.canParse();
9-
}, {
10-
code: 'ERR_MISSING_ARGS',
11-
name: 'TypeError'
12-
});
1+
'use strict';
2+
3+
require('../common');
4+
const assert = require('assert');
5+
6+
// One argument is required
7+
assert.throws(() => {
8+
URL.canParse();
9+
}, {
10+
code: 'ERR_MISSING_ARGS',
11+
name: 'TypeError',
12+
});

‎test/parallel/test-whatwg-url-custom-parsing.js

+7
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,10 @@ for (const test of additional_tests) {
7878
if (test.search) assert.strictEqual(url.search, test.search);
7979
if (test.hash) assert.strictEqual(url.hash, test.hash);
8080
}
81+
82+
assert.throws(() => {
83+
new URL();
84+
}, {
85+
name: 'TypeError',
86+
code: 'ERR_MISSING_ARGS',
87+
});

0 commit comments

Comments
 (0)
Please sign in to comment.